]> git.pld-linux.org Git - packages/xfsprogs.git/commitdiff
- rel 3; important fixes from git (these will be in 3.2.1) auto/th/xfsprogs-3.2.0-3
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 8 Jul 2014 08:07:25 +0000 (10:07 +0200)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 8 Jul 2014 08:07:25 +0000 (10:07 +0200)
xfsprogs-git.patch [new file with mode: 0644]
xfsprogs.spec

diff --git a/xfsprogs-git.patch b/xfsprogs-git.patch
new file mode 100644 (file)
index 0000000..4b4f73a
--- /dev/null
@@ -0,0 +1,27180 @@
+diff --git a/copy/xfs_copy.c b/copy/xfs_copy.c
+index 71adb57..7ce5ec9 100644
+--- a/copy/xfs_copy.c
++++ b/copy/xfs_copy.c
+@@ -217,25 +217,6 @@ handle_error:
+ }
+ void
+-killall(void)
+-{
+-      int i;
+-
+-      /* only the parent gets to kill things */
+-
+-      if (getpid() != parent_pid)
+-              return;
+-
+-      for (i = 0; i < num_targets; i++)  {
+-              if (target[i].state == ACTIVE)  {
+-                      /* kill up target threads */
+-                      pthread_kill(target[i].pid, SIGKILL);
+-                      pthread_mutex_unlock(&targ[i].wait);
+-              }
+-      }
+-}
+-
+-void
+ handler(int sig)
+ {
+       pid_t   pid;
+@@ -400,8 +381,7 @@ read_wbuf(int fd, wbuf *buf, xfs_mount_t *mp)
+       if (buf->length > buf->size)  {
+               do_warn(_("assert error:  buf->length = %d, buf->size = %d\n"),
+                       buf->length, buf->size);
+-              killall();
+-              abort();
++              exit(1);
+       }
+       if ((res = read(fd, buf->data, buf->length)) < 0)  {
+@@ -594,11 +574,6 @@ main(int argc, char **argv)
+       parent_pid = getpid();
+-      if (atexit(killall))  {
+-              do_log(_("%s: couldn't register atexit function.\n"), progname);
+-              die_perror();
+-      }
+-
+       /* open up source -- is it a file? */
+       open_flags = O_RDONLY;
+@@ -725,7 +700,7 @@ main(int argc, char **argv)
+       if (source_blocksize > source_sectorsize)  {
+               /* get number of leftover sectors in last block of ag header */
+-              tmp_residue = ((XFS_AGFL_DADDR(mp) + 1) * source_sectorsize)
++              tmp_residue = ((XFS_AGFL_DADDR(mp) + 1) * BBSIZE)
+                                       % source_blocksize;
+               first_residue = (tmp_residue == 0) ? 0 :
+                       source_blocksize - tmp_residue;
+@@ -738,10 +713,10 @@ main(int argc, char **argv)
+               exit(1);
+       }
+-      first_agbno = (((XFS_AGFL_DADDR(mp) + 1) * source_sectorsize)
++      first_agbno = (((XFS_AGFL_DADDR(mp) + 1) * BBSIZE)
+                               + first_residue) / source_blocksize;
+       ASSERT(first_agbno != 0);
+-      ASSERT( ((((XFS_AGFL_DADDR(mp) + 1) * source_sectorsize)
++      ASSERT(((((XFS_AGFL_DADDR(mp) + 1) * BBSIZE)
+                               + first_residue) % source_blocksize) == 0);
+       /* now open targets */
+@@ -1177,9 +1152,6 @@ main(int argc, char **argv)
+       }
+       check_errors();
+-      killall();
+-      pthread_exit(NULL);
+-      /*NOTREACHED*/
+       return 0;
+ }
+diff --git a/db/Makefile b/db/Makefile
+index 9485b82..bae6154 100644
+--- a/db/Makefile
++++ b/db/Makefile
+@@ -14,7 +14,7 @@ HFILES = addr.h agf.h agfl.h agi.h attr.h attrshort.h bit.h block.h bmap.h \
+       io.h malloc.h metadump.h output.h print.h quit.h sb.h sig.h strvec.h \
+       text.h type.h write.h attrset.h symlink.h
+ CFILES = $(HFILES:.h=.c)
+-LSRCFILES = xfs_admin.sh xfs_check.sh xfs_ncheck.sh xfs_metadump.sh
++LSRCFILES = xfs_admin.sh xfs_ncheck.sh xfs_metadump.sh
+ LLDLIBS       = $(LIBXFS) $(LIBXLOG) $(LIBUUID) $(LIBRT) $(LIBPTHREAD)
+ LTDEPENDENCIES = $(LIBXFS) $(LIBXLOG)
+@@ -38,7 +38,6 @@ install: default
+       $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
+       $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
+       $(INSTALL) -m 755 xfs_admin.sh $(PKG_SBIN_DIR)/xfs_admin
+-      $(INSTALL) -m 755 xfs_check.sh $(PKG_SBIN_DIR)/xfs_check
+       $(INSTALL) -m 755 xfs_ncheck.sh $(PKG_SBIN_DIR)/xfs_ncheck
+       $(INSTALL) -m 755 xfs_metadump.sh $(PKG_SBIN_DIR)/xfs_metadump
+ install-dev:
+diff --git a/db/agi.c b/db/agi.c
+index 398bdbb..6f167ac 100644
+--- a/db/agi.c
++++ b/db/agi.c
+@@ -57,6 +57,8 @@ const field_t        agi_flds[] = {
+       { "uuid", FLDT_UUID, OI(OFF(uuid)), C1, 0, TYP_NONE },
+       { "lsn", FLDT_UINT64X, OI(OFF(lsn)), C1, 0, TYP_NONE },
+       { "crc", FLDT_CRC, OI(OFF(crc)), C1, 0, TYP_NONE },
++      { "free_root", FLDT_AGBLOCK, OI(OFF(free_root)), C1, 0, TYP_INOBT },
++      { "free_level", FLDT_UINT32D, OI(OFF(free_level)), C1, 0, TYP_NONE },
+       { NULL }
+ };
+diff --git a/db/attrset.c b/db/attrset.c
+index 762b3bf..ea5261a 100644
+--- a/db/attrset.c
++++ b/db/attrset.c
+@@ -170,7 +170,7 @@ attr_set_f(
+ out:
+       mp->m_flags &= ~LIBXFS_MOUNT_COMPAT_ATTR;
+       if (ip)
+-              libxfs_iput(ip, 0);
++              IRELE(ip);
+       if (value)
+               free(value);
+       return 0;
+@@ -244,6 +244,6 @@ attr_remove_f(
+ out:
+       mp->m_flags &= ~LIBXFS_MOUNT_COMPAT_ATTR;
+       if (ip)
+-              libxfs_iput(ip, 0);
++              IRELE(ip);
+       return 0;
+ }
+diff --git a/db/btblock.c b/db/btblock.c
+index 1ea0cff..cdb8b1d 100644
+--- a/db/btblock.c
++++ b/db/btblock.c
+@@ -60,6 +60,12 @@ struct xfs_db_btree {
+               sizeof(xfs_inobt_rec_t),
+               sizeof(__be32),
+       },
++      {       XFS_FIBT_MAGIC,
++              XFS_BTREE_SBLOCK_LEN,
++              sizeof(xfs_inobt_key_t),
++              sizeof(xfs_inobt_rec_t),
++              sizeof(__be32),
++      },
+       {       XFS_BMAP_CRC_MAGIC,
+               XFS_BTREE_LBLOCK_CRC_LEN,
+               sizeof(xfs_bmbt_key_t),
+@@ -84,6 +90,12 @@ struct xfs_db_btree {
+               sizeof(xfs_inobt_rec_t),
+               sizeof(__be32),
+       },
++      {       XFS_FIBT_CRC_MAGIC,
++              XFS_BTREE_SBLOCK_CRC_LEN,
++              sizeof(xfs_inobt_key_t),
++              sizeof(xfs_inobt_rec_t),
++              sizeof(__be32),
++      },
+       {       0,
+       },
+ };
+diff --git a/db/metadump.c b/db/metadump.c
+index 09bb85a..38cd441 100644
+--- a/db/metadump.c
++++ b/db/metadump.c
+@@ -1917,6 +1917,7 @@ scanfunc_ino(
+       xfs_inobt_ptr_t         *pp;
+       int                     i;
+       int                     numrecs;
++      int                     finobt = *(int *) arg;
+       numrecs = be16_to_cpu(block->bb_numrecs);
+@@ -1928,6 +1929,14 @@ scanfunc_ino(
+                                       typtab[btype].name, agno, agbno);
+                       numrecs = mp->m_inobt_mxr[0];
+               }
++
++              /*
++               * Only copy the btree blocks for the finobt. The inobt scan
++               * copies the inode chunks.
++               */
++              if (finobt)
++                      return 1;
++
+               rp = XFS_INOBT_REC_ADDR(mp, block, 1);
+               for (i = 0; i < numrecs; i++, rp++) {
+                       if (!copy_inode_chunk(agno, rp))
+@@ -1967,6 +1976,7 @@ copy_inodes(
+ {
+       xfs_agblock_t           root;
+       int                     levels;
++      int                     finobt = 0;
+       root = be32_to_cpu(agi->agi_root);
+       levels = be32_to_cpu(agi->agi_level);
+@@ -1985,7 +1995,20 @@ copy_inodes(
+               return 1;
+       }
+-      return scan_btree(agno, root, levels, TYP_INOBT, agi, scanfunc_ino);
++      if (!scan_btree(agno, root, levels, TYP_INOBT, &finobt, scanfunc_ino))
++              return 0;
++
++      if (xfs_sb_version_hasfinobt(&mp->m_sb)) {
++              root = be32_to_cpu(agi->agi_free_root);
++              levels = be32_to_cpu(agi->agi_free_level);
++
++              finobt = 1;
++              if (!scan_btree(agno, root, levels, TYP_INOBT, &finobt,
++                              scanfunc_ino))
++                      return 0;
++      }
++
++      return 1;
+ }
+ static int
+diff --git a/db/write.c b/db/write.c
+index ca8bd0f..0157a44 100644
+--- a/db/write.c
++++ b/db/write.c
+@@ -565,7 +565,7 @@ convert_arg(
+               return NULL;
+       /* Does the value fit into the range of the destination bitfield? */
+-      if ((val >> bit_length) > 0)
++      if (bit_length < 64 && (val >> bit_length) > 0)
+               return NULL;
+       /*
+        * If the length of the field is not a multiple of a byte, push
+diff --git a/db/xfs_check.sh b/db/xfs_check.sh
+deleted file mode 100755
+index 553da63..0000000
+--- a/db/xfs_check.sh
++++ /dev/null
+@@ -1,42 +0,0 @@
+-#!/bin/sh -f
+-#
+-# Copyright (c) 2000-2003 Silicon Graphics, Inc.  All Rights Reserved.
+-#
+-
+-OPTS=" "
+-DBOPTS=" "
+-USAGE="Usage: xfs_check [-fsvV] [-l logdev] [-i ino]... [-b bno]... special"
+-
+-echo "xfs_check is deprecated and scheduled for removal in June 2014."
+-echo "Please use xfs_repair -n <dev> instead."
+-
+-while getopts "b:fi:l:stvV" c
+-do
+-      case $c in
+-      s)      OPTS=$OPTS"-s ";;
+-      t)      OPTS=$OPTS"-t ";;
+-      v)      OPTS=$OPTS"-v ";;
+-      i)      OPTS=$OPTS"-i "$OPTARG" ";;
+-      b)      OPTS=$OPTS"-b "$OPTARG" ";;
+-      f)      DBOPTS=$DBOPTS" -f";;
+-      l)      DBOPTS=$DBOPTS" -l "$OPTARG" ";;
+-      V)      xfs_db -p xfs_check -V
+-              status=$?
+-              exit $status
+-              ;;
+-      \?)     echo $USAGE 1>&2
+-              exit 2
+-              ;;
+-      esac
+-done
+-set -- extra $@
+-shift $OPTIND
+-case $# in
+-      1)      xfs_db$DBOPTS -F -i -p xfs_check -c "check$OPTS" $1
+-              status=$?
+-              ;;
+-      *)      echo $USAGE 1>&2
+-              exit 2
+-              ;;
+-esac
+-exit $status
+diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c
+index 3818f02..48629fd 100644
+--- a/fsr/xfs_fsr.c
++++ b/fsr/xfs_fsr.c
+@@ -554,6 +554,8 @@ fsrallfs(char *mtab, int howlong, char *leftofffile)
+                       fsrprintf(_("could not read %s, starting with %s\n"),
+                               leftofffile, *fs->dev);
+               } else {
++                      /* Ensure the buffer we read is null terminated */
++                      buf[SMBUFSZ-1] = '\0';
+                       for (fs = fsbase; fs < fsend; fs++) {
+                               fsname = fs->dev;
+                               if ((strncmp(buf,fsname,strlen(fsname)) == 0)
+@@ -1203,14 +1205,20 @@ out:
+  * We already are pretty sure we can and want to
+  * defragment the file.  Create the tmp file, copy
+  * the data (maintaining holes) and call the kernel
+- * extent swap routinte.
++ * extent swap routine.
++ *
++ * Return values:
++ * -1: Some error was encountered
++ *  0: Successfully defragmented the file
++ *  1: No change / No Error
+  */
+ static int
+ packfile(char *fname, char *tname, int fd,
+        xfs_bstat_t *statp, struct fsxattr *fsxp)
+ {
+-      int             tfd;
++      int             tfd = -1;
+       int             srval;
++      int             retval = -1;    /* Failure is the default */
+       int             nextents, extent, cur_nextents, new_nextents;
+       unsigned        blksz_dio;
+       unsigned        dio_min;
+@@ -1218,7 +1226,7 @@ packfile(char *fname, char *tname, int fd,
+       static xfs_swapext_t   sx;
+       struct xfs_flock64  space;
+       off64_t         cnt, pos;
+-      void            *fbuf;
++      void            *fbuf = NULL;
+       int             ct, wc, wc_b4;
+       char            ffname[SMBUFSZ];
+       int             ffd = -1;
+@@ -1234,7 +1242,8 @@ packfile(char *fname, char *tname, int fd,
+       if (cur_nextents == 1 || cur_nextents <= nextents) {
+               if (vflag)
+                       fsrprintf(_("%s already fully defragmented.\n"), fname);
+-              return 1; /* indicates no change/no error */
++              retval = 1; /* indicates no change/no error */
++              goto out;
+       }
+       if (dflag)
+@@ -1246,15 +1255,14 @@ packfile(char *fname, char *tname, int fd,
+               if (vflag)
+                       fsrprintf(_("could not open tmp file: %s: %s\n"),
+                                  tname, strerror(errno));
+-              return -1;
++              goto out;
+       }
+       unlink(tname);
+       /* Setup extended attributes */
+       if (fsr_setup_attr_fork(fd, tfd, statp) != 0) {
+               fsrprintf(_("failed to set ATTR fork on tmp: %s:\n"), tname);
+-              close(tfd);
+-              return -1;
++              goto out;
+       }
+       /* Setup extended inode flags, project identifier, etc */
+@@ -1262,15 +1270,13 @@ packfile(char *fname, char *tname, int fd,
+               if (ioctl(tfd, XFS_IOC_FSSETXATTR, fsxp) < 0) {
+                       fsrprintf(_("could not set inode attrs on tmp: %s\n"),
+                               tname);
+-                      close(tfd);
+-                      return -1;
++                      goto out;
+               }
+       }
+       if ((ioctl(tfd, XFS_IOC_DIOINFO, &dio)) < 0 ) {
+               fsrprintf(_("could not get DirectIO info on tmp: %s\n"), tname);
+-              close(tfd);
+-              return -1;
++              goto out;
+       }
+       dio_min = dio.d_miniosz;
+@@ -1292,8 +1298,7 @@ packfile(char *fname, char *tname, int fd,
+       if (!(fbuf = (char *)memalign(dio.d_mem, blksz_dio))) {
+               fsrprintf(_("could not allocate buf: %s\n"), tname);
+-              close(tfd);
+-              return -1;
++              goto out;
+       }
+       if (nfrags) {
+@@ -1304,9 +1309,7 @@ packfile(char *fname, char *tname, int fd,
+               if ((ffd = open(ffname, openopts, 0666)) < 0) {
+                       fsrprintf(_("could not open fragfile: %s : %s\n"),
+                                  ffname, strerror(errno));
+-                      close(tfd);
+-                      free(fbuf);
+-                      return -1;
++                      goto out;
+               }
+               unlink(ffname);
+       }
+@@ -1322,7 +1325,11 @@ packfile(char *fname, char *tname, int fd,
+                               fsrprintf(_("could not trunc tmp %s\n"),
+                                          tname);
+                       }
+-                      lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR);
++                      if (lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR) < 0) {
++                              fsrprintf(_("could not lseek in tmpfile: %s : %s\n"),
++                                 tname, strerror(errno));
++                              goto out;
++                      }
+                       continue;
+               } else if (outmap[extent].bmv_length == 0) {
+                       /* to catch holes at the beginning of the file */
+@@ -1336,21 +1343,19 @@ packfile(char *fname, char *tname, int fd,
+                       if (ioctl(tfd, XFS_IOC_RESVSP64, &space) < 0) {
+                               fsrprintf(_("could not pre-allocate tmp space:"
+                                       " %s\n"), tname);
+-                              close(tfd);
+-                              free(fbuf);
+-                              return -1;
++                              goto out;
++                      }
++                      if (lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR) < 0) {
++                              fsrprintf(_("could not lseek in tmpfile: %s : %s\n"),
++                                 tname, strerror(errno));
++                              goto out;
+                       }
+-                      lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR);
+               }
+       } /* end of space allocation loop */
+       if (lseek64(tfd, 0, SEEK_SET)) {
+               fsrprintf(_("Couldn't rewind on temporary file\n"));
+-              close(tfd);
+-              if (ffd != -1)
+-                      close(ffd);
+-              free(fbuf);
+-              return -1;
++              goto out;
+       }
+       /* Check if the temporary file has fewer extents */
+@@ -1360,19 +1365,24 @@ packfile(char *fname, char *tname, int fd,
+       if (cur_nextents <= new_nextents) {
+               if (vflag)
+                       fsrprintf(_("No improvement will be made (skipping): %s\n"), fname);
+-              free(fbuf);
+-              close(tfd);
+-              if (ffd != -1)
+-                      close(ffd);
+-              return 1; /* no change/no error */
++              retval = 1; /* no change/no error */
++              goto out;
+       }
+       /* Loop through block map copying the file. */
+       for (extent = 0; extent < nextents; extent++) {
+               pos = outmap[extent].bmv_offset;
+               if (outmap[extent].bmv_block == -1) {
+-                      lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR);
+-                      lseek64(fd, outmap[extent].bmv_length, SEEK_CUR);
++                      if (lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR) < 0) {
++                              fsrprintf(_("could not lseek in tmpfile: %s : %s\n"),
++                                 tname, strerror(errno));
++                              goto out;
++                      }
++                      if (lseek64(fd, outmap[extent].bmv_length, SEEK_CUR) < 0) {
++                              fsrprintf(_("could not lseek in file: %s : %s\n"),
++                                 fname, strerror(errno));
++                              goto out;
++                      }
+                       continue;
+               } else if (outmap[extent].bmv_length == 0) {
+                       /* to catch holes at the beginning of the file */
+@@ -1435,11 +1445,7 @@ packfile(char *fname, char *tname, int fd,
+                                                       tname);
+                                       }
+                               }
+-                              free(fbuf);
+-                              close(tfd);
+-                              if (ffd != -1)
+-                                      close(ffd);
+-                              return -1;
++                              goto out;
+                       }
+                       if (nfrags) {
+                               /* Do a matching write to the tmp file */
+@@ -1452,12 +1458,16 @@ packfile(char *fname, char *tname, int fd,
+                       }
+               }
+       }
+-      ftruncate64(tfd, statp->bs_size);
+-      if (ffd != -1)
+-              close(ffd);
+-      fsync(tfd);
+-
+-      free(fbuf);
++      if (ftruncate64(tfd, statp->bs_size) < 0) {
++              fsrprintf(_("could not truncate tmpfile: %s : %s\n"),
++                              fname, strerror(errno));
++              goto out;
++      }
++      if (fsync(tfd) < 0) {
++              fsrprintf(_("could not fsync tmpfile: %s : %s\n"),
++                              fname, strerror(errno));
++              goto out;
++      }
+       sx.sx_stat     = *statp; /* struct copy */
+       sx.sx_version  = XFS_SX_VERSION;
+@@ -1471,8 +1481,7 @@ packfile(char *fname, char *tname, int fd,
+                 if (vflag)
+                         fsrprintf(_("failed to fchown tmpfile %s: %s\n"),
+                                    tname, strerror(errno));
+-              close(tfd);
+-                return -1;
++              goto out;
+         }
+       /* Swap the extents */
+@@ -1494,8 +1503,7 @@ packfile(char *fname, char *tname, int fd,
+                       fsrprintf(_("XFS_IOC_SWAPEXT failed: %s: %s\n"),
+                                 fname, strerror(errno));
+               }
+-              close(tfd);
+-              return -1;
++              goto out;
+       }
+       /* Report progress */
+@@ -1504,8 +1512,15 @@ packfile(char *fname, char *tname, int fd,
+                         cur_nextents, new_nextents,
+                         (new_nextents <= nextents ? "DONE" : "    " ),
+                         fname);
+-      close(tfd);
+-      return 0;
++      retval = 0;
++
++out:
++      free(fbuf);
++      if (tfd != -1)
++              close(tfd);
++      if (ffd != -1)
++              close(ffd);
++      return retval;
+ }
+ char *
+diff --git a/growfs/xfs_growfs.c b/growfs/xfs_growfs.c
+index 77da707..8e611b6 100644
+--- a/growfs/xfs_growfs.c
++++ b/growfs/xfs_growfs.c
+@@ -56,12 +56,13 @@ report_info(
+       int             projid32bit,
+       int             crcs_enabled,
+       int             cimode,
+-      int             ftype_enabled)
++      int             ftype_enabled,
++      int             finobt_enabled)
+ {
+       printf(_(
+           "meta-data=%-22s isize=%-6u agcount=%u, agsize=%u blks\n"
+           "         =%-22s sectsz=%-5u attr=%u, projid32bit=%u\n"
+-          "         =%-22s crc=%u\n"
++          "         =%-22s crc=%-8u finobt=%u\n"
+           "data     =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n"
+           "         =%-22s sunit=%-6u swidth=%u blks\n"
+           "naming   =version %-14u bsize=%-6u ascii-ci=%d ftype=%d\n"
+@@ -71,7 +72,7 @@ report_info(
+               mntpoint, geo.inodesize, geo.agcount, geo.agblocks,
+               "", geo.sectsize, attrversion, projid32bit,
+-              "", crcs_enabled,
++              "", crcs_enabled, finobt_enabled,
+               "", geo.blocksize, (unsigned long long)geo.datablocks,
+                       geo.imaxpct,
+               "", geo.sunit, geo.swidth,
+@@ -123,6 +124,7 @@ main(int argc, char **argv)
+       int                     projid32bit;
+       int                     crcs_enabled;
+       int                     ftype_enabled = 0;
++      int                     finobt_enabled; /* free inode btree */
+       progname = basename(argv[0]);
+       setlocale(LC_ALL, "");
+@@ -244,11 +246,12 @@ main(int argc, char **argv)
+       projid32bit = geo.flags & XFS_FSOP_GEOM_FLAGS_PROJID32 ? 1 : 0;
+       crcs_enabled = geo.flags & XFS_FSOP_GEOM_FLAGS_V5SB ? 1 : 0;
+       ftype_enabled = geo.flags & XFS_FSOP_GEOM_FLAGS_FTYPE ? 1 : 0;
++      finobt_enabled = geo.flags & XFS_FSOP_GEOM_FLAGS_FINOBT ? 1 : 0;
+       if (nflag) {
+               report_info(geo, datadev, isint, logdev, rtdev,
+                               lazycount, dirversion, logversion,
+                               attrversion, projid32bit, crcs_enabled, ci,
+-                              ftype_enabled);
++                              ftype_enabled, finobt_enabled);
+               exit(0);
+       }
+@@ -285,7 +288,8 @@ main(int argc, char **argv)
+       report_info(geo, datadev, isint, logdev, rtdev,
+                       lazycount, dirversion, logversion,
+-                      attrversion, projid32bit, crcs_enabled, ci, ftype_enabled);
++                      attrversion, projid32bit, crcs_enabled, ci, ftype_enabled,
++                      finobt_enabled);
+       ddsize = xi.dsize;
+       dlsize = ( xi.logBBsize? xi.logBBsize :
+diff --git a/include/libxfs.h b/include/libxfs.h
+index 9c10957..45a924f 100644
+--- a/include/libxfs.h
++++ b/include/libxfs.h
+@@ -480,7 +480,6 @@ typedef struct xfs_inode_log_item {
+       unsigned int            ili_fields;             /* fields to be logged */
+       unsigned int            ili_last_fields;        /* fields when flushed*/
+       xfs_inode_log_format_t  ili_format;             /* logged structure */
+-      int                     ili_lock_flags;
+ } xfs_inode_log_item_t;
+ typedef struct xfs_buf_log_item {
+@@ -535,9 +534,7 @@ extern xfs_buf_t   *libxfs_trans_getsb (xfs_trans_t *, xfs_mount_t *, int);
+ extern int    libxfs_trans_iget (xfs_mount_t *, xfs_trans_t *, xfs_ino_t,
+                               uint, uint, struct xfs_inode **);
+-extern void   libxfs_trans_iput(xfs_trans_t *, struct xfs_inode *, uint);
+ extern void   libxfs_trans_ijoin (xfs_trans_t *, struct xfs_inode *, uint);
+-extern void   libxfs_trans_ihold (xfs_trans_t *, struct xfs_inode *);
+ extern void   libxfs_trans_ijoin_ref(xfs_trans_t *, struct xfs_inode *, int);
+ extern void   libxfs_trans_log_inode (xfs_trans_t *, struct xfs_inode *,
+                               uint);
+@@ -656,7 +653,9 @@ extern int libxfs_iflush_int (xfs_inode_t *, xfs_buf_t *);
+ /* Inode Cache Interfaces */
+ extern int    libxfs_iget (xfs_mount_t *, xfs_trans_t *, xfs_ino_t,
+                               uint, xfs_inode_t **, xfs_daddr_t);
+-extern void   libxfs_iput (xfs_inode_t *, uint);
++extern void   libxfs_iput (xfs_inode_t *);
++
++#define IRELE(ip) libxfs_iput(ip)
+ /* Shared utility routines */
+ extern unsigned int   libxfs_log2_roundup(unsigned int i);
+@@ -760,6 +759,7 @@ bool xfs_dinode_verify(struct xfs_mount *mp, xfs_ino_t ino,
+ /* xfs_sb.h */
+ #define libxfs_mod_sb                 xfs_mod_sb
+ #define libxfs_sb_from_disk           xfs_sb_from_disk
++#define libxfs_sb_quota_from_disk     xfs_sb_quota_from_disk
+ #define libxfs_sb_to_disk             xfs_sb_to_disk
+ /* xfs_symlink.h */
+diff --git a/include/xfs_ag.h b/include/xfs_ag.h
+index 0fdd410..2531658 100644
+--- a/include/xfs_ag.h
++++ b/include/xfs_ag.h
+@@ -166,24 +166,30 @@ typedef struct xfs_agi {
+       __be32          agi_pad32;
+       __be64          agi_lsn;        /* last write sequence */
++      __be32          agi_free_root; /* root of the free inode btree */
++      __be32          agi_free_level;/* levels in free inode btree */
++
+       /* structure must be padded to 64 bit alignment */
+ } xfs_agi_t;
+ #define XFS_AGI_CRC_OFF               offsetof(struct xfs_agi, agi_crc)
+-#define       XFS_AGI_MAGICNUM        0x00000001
+-#define       XFS_AGI_VERSIONNUM      0x00000002
+-#define       XFS_AGI_SEQNO           0x00000004
+-#define       XFS_AGI_LENGTH          0x00000008
+-#define       XFS_AGI_COUNT           0x00000010
+-#define       XFS_AGI_ROOT            0x00000020
+-#define       XFS_AGI_LEVEL           0x00000040
+-#define       XFS_AGI_FREECOUNT       0x00000080
+-#define       XFS_AGI_NEWINO          0x00000100
+-#define       XFS_AGI_DIRINO          0x00000200
+-#define       XFS_AGI_UNLINKED        0x00000400
+-#define       XFS_AGI_NUM_BITS        11
+-#define       XFS_AGI_ALL_BITS        ((1 << XFS_AGI_NUM_BITS) - 1)
++#define       XFS_AGI_MAGICNUM        (1 << 0)
++#define       XFS_AGI_VERSIONNUM      (1 << 1)
++#define       XFS_AGI_SEQNO           (1 << 2)
++#define       XFS_AGI_LENGTH          (1 << 3)
++#define       XFS_AGI_COUNT           (1 << 4)
++#define       XFS_AGI_ROOT            (1 << 5)
++#define       XFS_AGI_LEVEL           (1 << 6)
++#define       XFS_AGI_FREECOUNT       (1 << 7)
++#define       XFS_AGI_NEWINO          (1 << 8)
++#define       XFS_AGI_DIRINO          (1 << 9)
++#define       XFS_AGI_UNLINKED        (1 << 10)
++#define       XFS_AGI_NUM_BITS_R1     11      /* end of the 1st agi logging region */
++#define       XFS_AGI_ALL_BITS_R1     ((1 << XFS_AGI_NUM_BITS_R1) - 1)
++#define       XFS_AGI_FREE_ROOT       (1 << 11)
++#define       XFS_AGI_FREE_LEVEL      (1 << 12)
++#define       XFS_AGI_NUM_BITS_R2     13
+ /* disk block (xfs_daddr_t) in the AG */
+ #define XFS_AGI_DADDR(mp)     ((xfs_daddr_t)(2 << (mp)->m_sectbb_log))
+diff --git a/include/xfs_btree.h b/include/xfs_btree.h
+index 6afe0b2..2590d40 100644
+--- a/include/xfs_btree.h
++++ b/include/xfs_btree.h
+@@ -37,6 +37,7 @@ extern kmem_zone_t   *xfs_btree_cur_zone;
+ #define       XFS_BTNUM_CNT   ((xfs_btnum_t)XFS_BTNUM_CNTi)
+ #define       XFS_BTNUM_BMAP  ((xfs_btnum_t)XFS_BTNUM_BMAPi)
+ #define       XFS_BTNUM_INO   ((xfs_btnum_t)XFS_BTNUM_INOi)
++#define       XFS_BTNUM_FINO  ((xfs_btnum_t)XFS_BTNUM_FINOi)
+ /*
+  * For logging record fields.
+@@ -67,6 +68,7 @@ do {    \
+       case XFS_BTNUM_CNT: __XFS_BTREE_STATS_INC(abtc, stat); break;   \
+       case XFS_BTNUM_BMAP: __XFS_BTREE_STATS_INC(bmbt, stat); break;  \
+       case XFS_BTNUM_INO: __XFS_BTREE_STATS_INC(ibt, stat); break;    \
++      case XFS_BTNUM_FINO: __XFS_BTREE_STATS_INC(fibt, stat); break;  \
+       case XFS_BTNUM_MAX: ASSERT(0); /* fucking gcc */ ; break;       \
+       }       \
+ } while (0)
+@@ -80,6 +82,7 @@ do {    \
+       case XFS_BTNUM_CNT: __XFS_BTREE_STATS_ADD(abtc, stat, val); break; \
+       case XFS_BTNUM_BMAP: __XFS_BTREE_STATS_ADD(bmbt, stat, val); break; \
+       case XFS_BTNUM_INO: __XFS_BTREE_STATS_ADD(ibt, stat, val); break; \
++      case XFS_BTNUM_FINO: __XFS_BTREE_STATS_ADD(fibt, stat, val); break; \
+       case XFS_BTNUM_MAX: ASSERT(0); /* fucking gcc */ ; break;       \
+       }       \
+ } while (0)
+diff --git a/include/xfs_format.h b/include/xfs_format.h
+index 77f6b8b..758052f 100644
+--- a/include/xfs_format.h
++++ b/include/xfs_format.h
+@@ -202,6 +202,8 @@ typedef __be32 xfs_alloc_ptr_t;
+  */
+ #define       XFS_IBT_MAGIC           0x49414254      /* 'IABT' */
+ #define       XFS_IBT_CRC_MAGIC       0x49414233      /* 'IAB3' */
++#define       XFS_FIBT_MAGIC          0x46494254      /* 'FIBT' */
++#define       XFS_FIBT_CRC_MAGIC      0x46494233      /* 'FIB3' */
+ typedef       __uint64_t      xfs_inofree_t;
+ #define       XFS_INODES_PER_CHUNK            (NBBY * sizeof(xfs_inofree_t))
+@@ -244,7 +246,17 @@ typedef __be32 xfs_inobt_ptr_t;
+  * block numbers in the AG.
+  */
+ #define       XFS_IBT_BLOCK(mp)               ((xfs_agblock_t)(XFS_CNT_BLOCK(mp) + 1))
+-#define       XFS_PREALLOC_BLOCKS(mp)         ((xfs_agblock_t)(XFS_IBT_BLOCK(mp) + 1))
++#define       XFS_FIBT_BLOCK(mp)              ((xfs_agblock_t)(XFS_IBT_BLOCK(mp) + 1))
++
++/*
++ * The first data block of an AG depends on whether the filesystem was formatted
++ * with the finobt feature. If so, account for the finobt reserved root btree
++ * block.
++ */
++#define XFS_PREALLOC_BLOCKS(mp) \
++      (xfs_sb_version_hasfinobt(&((mp)->m_sb)) ? \
++       XFS_FIBT_BLOCK(mp) + 1 : \
++       XFS_IBT_BLOCK(mp) + 1)
+diff --git a/include/xfs_fs.h b/include/xfs_fs.h
+index 554fd66..59c40fc 100644
+--- a/include/xfs_fs.h
++++ b/include/xfs_fs.h
+@@ -238,6 +238,7 @@ typedef struct xfs_fsop_resblks {
+ #define XFS_FSOP_GEOM_FLAGS_LAZYSB    0x4000  /* lazy superblock counters */
+ #define XFS_FSOP_GEOM_FLAGS_V5SB      0x8000  /* version 5 superblock */
+ #define XFS_FSOP_GEOM_FLAGS_FTYPE     0x10000 /* inode directory types */
++#define XFS_FSOP_GEOM_FLAGS_FINOBT    0x20000 /* free inode btree */
+ /*
+diff --git a/include/xfs_ialloc.h b/include/xfs_ialloc.h
+index a8f76a5..c8ac0a4 100644
+--- a/include/xfs_ialloc.h
++++ b/include/xfs_ialloc.h
+@@ -89,7 +89,7 @@ xfs_difree(
+       struct xfs_trans *tp,           /* transaction pointer */
+       xfs_ino_t       inode,          /* inode to be freed */
+       struct xfs_bmap_free *flist,    /* extents to free */
+-      int             *delete,        /* set if inode cluster was deleted */
++      int             *deleted,       /* set if inode cluster was deleted */
+       xfs_ino_t       *first_ino);    /* first inode in deleted cluster */
+ /*
+diff --git a/include/xfs_ialloc_btree.h b/include/xfs_ialloc_btree.h
+index f38b220..d7ebea7 100644
+--- a/include/xfs_ialloc_btree.h
++++ b/include/xfs_ialloc_btree.h
+@@ -58,7 +58,8 @@ struct xfs_mount;
+                ((index) - 1) * sizeof(xfs_inobt_ptr_t)))
+ extern struct xfs_btree_cur *xfs_inobt_init_cursor(struct xfs_mount *,
+-              struct xfs_trans *, struct xfs_buf *, xfs_agnumber_t);
++              struct xfs_trans *, struct xfs_buf *, xfs_agnumber_t,
++              xfs_btnum_t);
+ extern int xfs_inobt_maxrecs(struct xfs_mount *, int, int);
+ #endif        /* __XFS_IALLOC_BTREE_H__ */
+diff --git a/include/xfs_sb.h b/include/xfs_sb.h
+index f7b2fe7..950d1ea 100644
+--- a/include/xfs_sb.h
++++ b/include/xfs_sb.h
+@@ -587,7 +587,9 @@ xfs_sb_has_compat_feature(
+       return (sbp->sb_features_compat & feature) != 0;
+ }
+-#define XFS_SB_FEAT_RO_COMPAT_ALL 0
++#define XFS_SB_FEAT_RO_COMPAT_FINOBT   (1 << 0)               /* free inode btree */
++#define XFS_SB_FEAT_RO_COMPAT_ALL \
++              (XFS_SB_FEAT_RO_COMPAT_FINOBT)
+ #define XFS_SB_FEAT_RO_COMPAT_UNKNOWN ~XFS_SB_FEAT_RO_COMPAT_ALL
+ static inline bool
+ xfs_sb_has_ro_compat_feature(
+@@ -641,6 +643,12 @@ static inline int xfs_sb_version_hasftype(struct xfs_sb *sbp)
+                (sbp->sb_features2 & XFS_SB_VERSION2_FTYPE));
+ }
++static inline int xfs_sb_version_hasfinobt(xfs_sb_t *sbp)
++{
++      return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5) &&
++              (sbp->sb_features_ro_compat & XFS_SB_FEAT_RO_COMPAT_FINOBT);
++}
++
+ /*
+  * end of superblock version macros
+  */
+diff --git a/include/xfs_trans_space.h b/include/xfs_trans_space.h
+index 7d2c920..a7d1721 100644
+--- a/include/xfs_trans_space.h
++++ b/include/xfs_trans_space.h
+@@ -47,7 +47,9 @@
+ #define       XFS_DIRREMOVE_SPACE_RES(mp)     \
+       XFS_DAREMOVE_SPACE_RES(mp, XFS_DATA_FORK)
+ #define       XFS_IALLOC_SPACE_RES(mp)        \
+-      (XFS_IALLOC_BLOCKS(mp) + (mp)->m_in_maxlevels - 1)
++      (XFS_IALLOC_BLOCKS(mp) + \
++       (xfs_sb_version_hasfinobt(&mp->m_sb) ? 2 : 1 * \
++        ((mp)->m_in_maxlevels - 1)))
+ /*
+  * Space reservation values for various transactions.
+@@ -82,5 +84,8 @@
+       (XFS_DIRREMOVE_SPACE_RES(mp) + XFS_DIRENTER_SPACE_RES(mp,nl))
+ #define       XFS_SYMLINK_SPACE_RES(mp,nl,b)  \
+       (XFS_IALLOC_SPACE_RES(mp) + XFS_DIRENTER_SPACE_RES(mp,nl) + (b))
++#define XFS_IFREE_SPACE_RES(mp)               \
++      (xfs_sb_version_hasfinobt(&mp->m_sb) ? (mp)->m_in_maxlevels : 0)
++
+ #endif        /* __XFS_TRANS_SPACE_H__ */
+diff --git a/include/xfs_types.h b/include/xfs_types.h
+index 82bbc34..65c6e66 100644
+--- a/include/xfs_types.h
++++ b/include/xfs_types.h
+@@ -134,7 +134,7 @@ typedef enum {
+ typedef enum {
+       XFS_BTNUM_BNOi, XFS_BTNUM_CNTi, XFS_BTNUM_BMAPi, XFS_BTNUM_INOi,
+-      XFS_BTNUM_MAX
++      XFS_BTNUM_FINOi, XFS_BTNUM_MAX
+ } xfs_btnum_t;
+ struct xfs_name {
+diff --git a/libxfs/init.c b/libxfs/init.c
+index 0924948..06458e5 100644
+--- a/libxfs/init.c
++++ b/libxfs/init.c
+@@ -778,9 +778,9 @@ void
+ libxfs_rtmount_destroy(xfs_mount_t *mp)
+ {
+       if (mp->m_rsumip)
+-              libxfs_iput(mp->m_rsumip, 0);
++              IRELE(mp->m_rsumip);
+       if (mp->m_rbmip)
+-              libxfs_iput(mp->m_rbmip, 0);
++              IRELE(mp->m_rbmip);
+       mp->m_rsumip = mp->m_rbmip = NULL;
+ }
+diff --git a/libxfs/linux.c b/libxfs/linux.c
+index 2e07d54..8d1a117 100644
+--- a/libxfs/linux.c
++++ b/libxfs/linux.c
+@@ -141,10 +141,20 @@ platform_findsizes(char *path, int fd, long long *sz, int *bsz)
+               exit(1);
+       }
+       if ((st.st_mode & S_IFMT) == S_IFREG) {
++              struct xfs_fsop_geom_v1 geom = { 0 };
++
+               *sz = (long long)(st.st_size >> 9);
+-              *bsz = BBSIZE;
+-              if (BBSIZE > max_block_alignment)
+-                      max_block_alignment = BBSIZE;
++              if (ioctl(fd, XFS_IOC_FSGEOMETRY_V1, &geom) < 0) {
++                      /*
++                       * fall back to BBSIZE; mkfs might fail if there's a
++                       * size mismatch between the image & the host fs...
++                       */
++                      *bsz = BBSIZE;
++              } else
++                      *bsz = geom.sectsize;
++
++              if (*bsz > max_block_alignment)
++                      max_block_alignment = *bsz;
+               return;
+       }
+diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c
+index 57c12c1..0294c98 100644
+--- a/libxfs/rdwr.c
++++ b/libxfs/rdwr.c
+@@ -19,6 +19,37 @@
+ #include <xfs/libxfs.h>
+ #include "init.h"
++/*
++ * Important design/architecture note:
++ *
++ * The userspace code that uses the buffer cache is much less constrained than
++ * the kernel code. The userspace code is pretty nasty in places, especially
++ * when it comes to buffer error handling.  Very little of the userspace code
++ * outside libxfs clears bp->b_error - very little code even checks it - so the
++ * libxfs code is tripping on stale errors left by the userspace code.
++ *
++ * We can't clear errors or zero buffer contents in libxfs_getbuf-* like we do
++ * in the kernel, because those functions are used by the libxfs_readbuf_*
++ * functions and hence need to leave the buffers unchanged on cache hits. This
++ * is actually the only way to gather a write error from a libxfs_writebuf()
++ * call - you need to get the buffer again so you can check bp->b_error field -
++ * assuming that the buffer is still in the cache when you check, that is.
++ *
++ * This is very different to the kernel code which does not release buffers on a
++ * write so we can wait on IO and check errors. The kernel buffer cache also
++ * guarantees a buffer of a known initial state from xfs_buf_get() even on a
++ * cache hit.
++ *
++ * IOWs, userspace is behaving quite differently to the kernel and as a result
++ * it leaks errors from reads, invalidations and writes through
++ * libxfs_getbuf/libxfs_readbuf.
++ *
++ * The result of this is that until the userspace code outside libxfs is cleaned
++ * up, functions that release buffers from userspace control (i.e
++ * libxfs_writebuf/libxfs_putbuf) need to zero bp->b_error to prevent
++ * propagation of stale errors into future buffer operations.
++ */
++
+ #define BDSTRAT_SIZE  (256 * 1024)
+ #define IO_BCOMPARE_CHECK
+@@ -632,6 +663,12 @@ libxfs_putbuf(xfs_buf_t *bp)
+                       pthread_mutex_unlock(&bp->b_lock);
+               }
+       }
++      /*
++       * ensure that any errors on this use of the buffer don't carry
++       * over to the next user.
++       */
++      bp->b_error = 0;
++
+       cache_node_put(libxfs_bcache, (struct cache_node *)bp);
+ }
+@@ -907,10 +944,10 @@ libxfs_writebufr(xfs_buf_t *bp)
+       }
+ #ifdef IO_DEBUG
+-      printf("%lx: %s: wrote %u bytes, blkno=%llu(%llu), %p\n",
++      printf("%lx: %s: wrote %u bytes, blkno=%llu(%llu), %p, error %d\n",
+                       pthread_self(), __FUNCTION__, bp->b_bcount,
+                       (long long)LIBXFS_BBTOOFF64(bp->b_bn),
+-                      (long long)bp->b_bn, bp);
++                      (long long)bp->b_bn, bp, error);
+ #endif
+       if (!error) {
+               bp->b_flags |= LIBXFS_B_UPTODATE;
+@@ -928,6 +965,7 @@ libxfs_writebuf_int(xfs_buf_t *bp, int flags)
+        * subsequent reads after this write from seeing stale errors.
+        */
+       bp->b_error = 0;
++      bp->b_flags &= ~LIBXFS_B_STALE;
+       bp->b_flags |= (LIBXFS_B_DIRTY | flags);
+       return 0;
+ }
+@@ -946,6 +984,7 @@ libxfs_writebuf(xfs_buf_t *bp, int flags)
+        * subsequent reads after this write from seeing stale errors.
+        */
+       bp->b_error = 0;
++      bp->b_flags &= ~LIBXFS_B_STALE;
+       bp->b_flags |= (LIBXFS_B_DIRTY | flags);
+       libxfs_putbuf(bp);
+       return 0;
+@@ -1103,7 +1142,7 @@ libxfs_idestroy(xfs_inode_t *ip)
+ }
+ void
+-libxfs_iput(xfs_inode_t *ip, uint lock_flags)
++libxfs_iput(xfs_inode_t *ip)
+ {
+       if (ip->i_itemp)
+               kmem_zone_free(xfs_ili_zone, ip->i_itemp);
+diff --git a/libxfs/trans.c b/libxfs/trans.c
+index c443863..13d21b2 100644
+--- a/libxfs/trans.c
++++ b/libxfs/trans.c
+@@ -110,7 +110,7 @@ libxfs_trans_roll(
+       /*
+        * Commit the current transaction.
+        * If this commit failed, then it'd just unlock those items that
+-       * are not marked ihold. That also means that a filesystem shutdown
++       * are marked to be released. That also means that a filesystem shutdown
+        * is in progress. The caller takes the responsibility to cancel
+        * the duplicate transaction that gets returned.
+        */
+@@ -248,27 +248,6 @@ libxfs_trans_iget(
+ }
+ void
+-libxfs_trans_iput(
+-      xfs_trans_t             *tp,
+-      xfs_inode_t             *ip,
+-      uint                    lock_flags)
+-{
+-      xfs_inode_log_item_t    *iip;
+-
+-      if (tp == NULL) {
+-              libxfs_iput(ip, lock_flags);
+-              return;
+-      }
+-
+-      ASSERT(ip->i_transp == tp);
+-      iip = ip->i_itemp;
+-      ASSERT(iip != NULL);
+-      xfs_trans_del_item(&iip->ili_item);
+-
+-      libxfs_iput(ip, lock_flags);
+-}
+-
+-void
+ libxfs_trans_ijoin(
+       xfs_trans_t             *tp,
+       xfs_inode_t             *ip,
+@@ -301,7 +280,6 @@ libxfs_trans_ijoin_ref(
+       ASSERT(ip->i_itemp != NULL);
+       xfs_trans_ijoin(tp, ip, lock_flags);
+-      ip->i_itemp->ili_lock_flags = lock_flags;
+ #ifdef XACT_DEBUG
+       fprintf(stderr, "ijoin_ref'd inode %llu, transaction %p\n", ip->i_ino, tp);
+@@ -309,21 +287,6 @@ libxfs_trans_ijoin_ref(
+ }
+ void
+-libxfs_trans_ihold(
+-      xfs_trans_t             *tp,
+-      xfs_inode_t             *ip)
+-{
+-      ASSERT(ip->i_transp == tp);
+-      ASSERT(ip->i_itemp != NULL);
+-
+-      ip->i_itemp->ili_lock_flags = 1;
+-
+-#ifdef XACT_DEBUG
+-      fprintf(stderr, "ihold'd inode %llu, transaction %p\n", ip->i_ino, tp);
+-#endif
+-}
+-
+-void
+ libxfs_trans_inode_alloc_buf(
+       xfs_trans_t             *tp,
+       xfs_buf_t               *bp)
+@@ -702,7 +665,7 @@ inode_item_done(
+       if (!(iip->ili_fields & XFS_ILOG_ALL)) {
+               ip->i_transp = NULL;    /* disassociate from transaction */
+               iip->ili_flags = 0;     /* reset all flags */
+-              goto ili_done;
++              return;
+       }
+       /*
+@@ -712,7 +675,7 @@ inode_item_done(
+       if (error) {
+               fprintf(stderr, _("%s: warning - imap_to_bp failed (%d)\n"),
+                       progname, error);
+-              goto ili_done;
++              return;
+       }
+       XFS_BUF_SET_FSPRIVATE(bp, iip);
+@@ -720,7 +683,7 @@ inode_item_done(
+       if (error) {
+               fprintf(stderr, _("%s: warning - iflush_int failed (%d)\n"),
+                       progname, error);
+-              goto ili_done;
++              return;
+       }
+       ip->i_transp = NULL;    /* disassociate from transaction */
+@@ -728,16 +691,9 @@ inode_item_done(
+       XFS_BUF_SET_FSPRIVATE2(bp, NULL);       /* remove xact ptr */
+       libxfs_writebuf(bp, 0);
+ #ifdef XACT_DEBUG
+-      fprintf(stderr, "flushing dirty inode %llu, buffer %p (hold=%u)\n",
+-                      ip->i_ino, bp, iip->ili_lock_flags);
++      fprintf(stderr, "flushing dirty inode %llu, buffer %p\n",
++                      ip->i_ino, bp);
+ #endif
+-ili_done:
+-      if (iip->ili_lock_flags) {
+-              iip->ili_lock_flags = 0;
+-              return;
+-      }
+-      /* free the inode */
+-      libxfs_iput(ip, 0);
+ }
+ static void
+@@ -818,10 +774,6 @@ inode_item_unlock(
+       ip->i_transp = NULL;
+       iip->ili_flags = 0;
+-      if (!iip->ili_lock_flags)
+-              libxfs_iput(ip, 0);
+-      else
+-              iip->ili_lock_flags = 0;
+ }
+ /*
+diff --git a/libxfs/util.c b/libxfs/util.c
+index 4c40324..9504e33 100644
+--- a/libxfs/util.c
++++ b/libxfs/util.c
+@@ -595,7 +595,6 @@ libxfs_alloc_file_space(
+                       break;
+               }
+               xfs_trans_ijoin(tp, ip, 0);
+-              xfs_trans_ihold(tp, ip);
+               xfs_bmap_init(&free_list, &firstfsb);
+               error = xfs_bmapi_write(tp, ip, startoffset_fsb, allocatesize_fsb,
+diff --git a/libxfs/xfs.h b/libxfs/xfs.h
+index 5a21590..30a316d 100644
+--- a/libxfs/xfs.h
++++ b/libxfs/xfs.h
+@@ -292,7 +292,6 @@ roundup_64(__uint64_t x, __uint32_t y)
+ #define xfs_trans_get_buf             libxfs_trans_get_buf
+ #define xfs_trans_getsb                       libxfs_trans_getsb
+ #define xfs_trans_iget                        libxfs_trans_iget
+-#define xfs_trans_ihold                       libxfs_trans_ihold
+ #define xfs_trans_ijoin                       libxfs_trans_ijoin
+ #define xfs_trans_ijoin_ref           libxfs_trans_ijoin_ref
+ #define xfs_trans_init                        libxfs_trans_init
+diff --git a/libxfs/xfs_attr_remote.c b/libxfs/xfs_attr_remote.c
+index 5cf5c73..08b983b 100644
+--- a/libxfs/xfs_attr_remote.c
++++ b/libxfs/xfs_attr_remote.c
+@@ -85,7 +85,7 @@ xfs_attr3_rmt_verify(
+       if (be32_to_cpu(rmt->rm_bytes) > fsbsize - sizeof(*rmt))
+               return false;
+       if (be32_to_cpu(rmt->rm_offset) +
+-                              be32_to_cpu(rmt->rm_bytes) >= XATTR_SIZE_MAX)
++                              be32_to_cpu(rmt->rm_bytes) > XATTR_SIZE_MAX)
+               return false;
+       if (rmt->rm_owner == 0)
+               return false;
+diff --git a/libxfs/xfs_btree.c b/libxfs/xfs_btree.c
+index 9be4abd..cc823f5 100644
+--- a/libxfs/xfs_btree.c
++++ b/libxfs/xfs_btree.c
+@@ -27,9 +27,10 @@ kmem_zone_t *xfs_btree_cur_zone;
+  * Btree magic numbers.
+  */
+ static const __uint32_t xfs_magics[2][XFS_BTNUM_MAX] = {
+-      { XFS_ABTB_MAGIC, XFS_ABTC_MAGIC, XFS_BMAP_MAGIC, XFS_IBT_MAGIC },
++      { XFS_ABTB_MAGIC, XFS_ABTC_MAGIC, XFS_BMAP_MAGIC, XFS_IBT_MAGIC,
++        XFS_FIBT_MAGIC },
+       { XFS_ABTB_CRC_MAGIC, XFS_ABTC_CRC_MAGIC,
+-        XFS_BMAP_CRC_MAGIC, XFS_IBT_CRC_MAGIC }
++        XFS_BMAP_CRC_MAGIC, XFS_IBT_CRC_MAGIC, XFS_FIBT_CRC_MAGIC }
+ };
+ #define xfs_btree_magic(cur) \
+       xfs_magics[!!((cur)->bc_flags & XFS_BTREE_CRC_BLOCKS)][cur->bc_btnum]
+@@ -1099,6 +1100,7 @@ xfs_btree_set_refs(
+               xfs_buf_set_ref(bp, XFS_ALLOC_BTREE_REF);
+               break;
+       case XFS_BTNUM_INO:
++      case XFS_BTNUM_FINO:
+               xfs_buf_set_ref(bp, XFS_INO_BTREE_REF);
+               break;
+       case XFS_BTNUM_BMAP:
+diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c
+index b70454e..b731b54 100644
+--- a/libxfs/xfs_da_btree.c
++++ b/libxfs/xfs_da_btree.c
+@@ -2582,7 +2582,8 @@ xfs_da_get_buf(
+                                   mapp, nmap, 0);
+       error = bp ? bp->b_error : XFS_ERROR(EIO);
+       if (error) {
+-              xfs_trans_brelse(trans, bp);
++              if (bp)
++                      xfs_trans_brelse(trans, bp);
+               goto out_free;
+       }
+diff --git a/libxfs/xfs_ialloc.c b/libxfs/xfs_ialloc.c
+index c19d84a..5462c54 100644
+--- a/libxfs/xfs_ialloc.c
++++ b/libxfs/xfs_ialloc.c
+@@ -88,6 +88,66 @@ xfs_inobt_get_rec(
+ }
+ /*
++ * Insert a single inobt record. Cursor must already point to desired location.
++ */
++STATIC int
++xfs_inobt_insert_rec(
++      struct xfs_btree_cur    *cur,
++      __int32_t               freecount,
++      xfs_inofree_t           free,
++      int                     *stat)
++{
++      cur->bc_rec.i.ir_freecount = freecount;
++      cur->bc_rec.i.ir_free = free;
++      return xfs_btree_insert(cur, stat);
++}
++
++/*
++ * Insert records describing a newly allocated inode chunk into the inobt.
++ */
++STATIC int
++xfs_inobt_insert(
++      struct xfs_mount        *mp,
++      struct xfs_trans        *tp,
++      struct xfs_buf          *agbp,
++      xfs_agino_t             newino,
++      xfs_agino_t             newlen,
++      xfs_btnum_t             btnum)
++{
++      struct xfs_btree_cur    *cur;
++      struct xfs_agi          *agi = XFS_BUF_TO_AGI(agbp);
++      xfs_agnumber_t          agno = be32_to_cpu(agi->agi_seqno);
++      xfs_agino_t             thisino;
++      int                     i;
++      int                     error;
++
++      cur = xfs_inobt_init_cursor(mp, tp, agbp, agno, btnum);
++
++      for (thisino = newino;
++           thisino < newino + newlen;
++           thisino += XFS_INODES_PER_CHUNK) {
++              error = xfs_inobt_lookup(cur, thisino, XFS_LOOKUP_EQ, &i);
++              if (error) {
++                      xfs_btree_del_cursor(cur, XFS_BTREE_ERROR);
++                      return error;
++              }
++              ASSERT(i == 0);
++
++              error = xfs_inobt_insert_rec(cur, XFS_INODES_PER_CHUNK,
++                                           XFS_INOBT_ALL_FREE, &i);
++              if (error) {
++                      xfs_btree_del_cursor(cur, XFS_BTREE_ERROR);
++                      return error;
++              }
++              ASSERT(i == 1);
++      }
++
++      xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR);
++
++      return 0;
++}
++
++/*
+  * Verify that the number of free inodes in the AGI is correct.
+  */
+ #ifdef DEBUG
+@@ -286,13 +346,10 @@ xfs_ialloc_ag_alloc(
+ {
+       xfs_agi_t       *agi;           /* allocation group header */
+       xfs_alloc_arg_t args;           /* allocation argument structure */
+-      xfs_btree_cur_t *cur;           /* inode btree cursor */
+       xfs_agnumber_t  agno;
+       int             error;
+-      int             i;
+       xfs_agino_t     newino;         /* new first inode's number */
+       xfs_agino_t     newlen;         /* new number of inodes */
+-      xfs_agino_t     thisino;        /* current inode number, for loop */
+       int             isaligned = 0;  /* inode allocation at stripe unit */
+                                       /* boundary */
+       struct xfs_perag *pag;
+@@ -430,29 +487,19 @@ xfs_ialloc_ag_alloc(
+       agi->agi_newino = cpu_to_be32(newino);
+       /*
+-       * Insert records describing the new inode chunk into the btree.
++       * Insert records describing the new inode chunk into the btrees.
+        */
+-      cur = xfs_inobt_init_cursor(args.mp, tp, agbp, agno);
+-      for (thisino = newino;
+-           thisino < newino + newlen;
+-           thisino += XFS_INODES_PER_CHUNK) {
+-              cur->bc_rec.i.ir_startino = thisino;
+-              cur->bc_rec.i.ir_freecount = XFS_INODES_PER_CHUNK;
+-              cur->bc_rec.i.ir_free = XFS_INOBT_ALL_FREE;
+-              error = xfs_btree_lookup(cur, XFS_LOOKUP_EQ, &i);
+-              if (error) {
+-                      xfs_btree_del_cursor(cur, XFS_BTREE_ERROR);
+-                      return error;
+-              }
+-              ASSERT(i == 0);
+-              error = xfs_btree_insert(cur, &i);
+-              if (error) {
+-                      xfs_btree_del_cursor(cur, XFS_BTREE_ERROR);
++      error = xfs_inobt_insert(args.mp, tp, agbp, newino, newlen,
++                               XFS_BTNUM_INO);
++      if (error)
++              return error;
++
++      if (xfs_sb_version_hasfinobt(&args.mp->m_sb)) {
++              error = xfs_inobt_insert(args.mp, tp, agbp, newino, newlen,
++                                       XFS_BTNUM_FINO);
++              if (error)
+                       return error;
+-              }
+-              ASSERT(i == 1);
+       }
+-      xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR);
+       /*
+        * Log allocation group header fields
+        */
+@@ -652,7 +699,7 @@ xfs_ialloc_get_rec(
+  * available.
+  */
+ STATIC int
+-xfs_dialloc_ag(
++xfs_dialloc_ag_slow(
+       struct xfs_trans        *tp,
+       struct xfs_buf          *agbp,
+       xfs_ino_t               parent,
+@@ -678,7 +725,7 @@ xfs_dialloc_ag(
+       ASSERT(pag->pagi_freecount > 0);
+  restart_pagno:
+-      cur = xfs_inobt_init_cursor(mp, tp, agbp, agno);
++      cur = xfs_inobt_init_cursor(mp, tp, agbp, agno, XFS_BTNUM_INO);
+       /*
+        * If pagino is 0 (this is the root inode allocation) use newino.
+        * This must work because we've just allocated some.
+@@ -910,6 +957,215 @@ error0:
+       return error;
+ }
++STATIC int
++xfs_dialloc_ag(
++      struct xfs_trans        *tp,
++      struct xfs_buf          *agbp,
++      xfs_ino_t               parent,
++      xfs_ino_t               *inop)
++{
++      struct xfs_mount                *mp = tp->t_mountp;
++      struct xfs_agi                  *agi = XFS_BUF_TO_AGI(agbp);
++      xfs_agnumber_t                  agno = be32_to_cpu(agi->agi_seqno);
++      xfs_agnumber_t                  pagno = XFS_INO_TO_AGNO(mp, parent);
++      xfs_agino_t                     pagino = XFS_INO_TO_AGINO(mp, parent);
++      struct xfs_perag                *pag;
++      struct xfs_btree_cur            *cur;
++      struct xfs_btree_cur            *tcur;
++      struct xfs_inobt_rec_incore     rec;
++      struct xfs_inobt_rec_incore     trec;
++      xfs_ino_t                       ino;
++      int                             error;
++      int                             offset;
++      int                             i, j;
++
++      if (!xfs_sb_version_hasfinobt(&mp->m_sb))
++              return xfs_dialloc_ag_slow(tp, agbp, parent, inop);
++
++      pag = xfs_perag_get(mp, agno);
++
++      /*
++       * If pagino is 0 (this is the root inode allocation) use newino.
++       * This must work because we've just allocated some.
++       */
++      if (!pagino)
++              pagino = be32_to_cpu(agi->agi_newino);
++
++      cur = xfs_inobt_init_cursor(mp, tp, agbp, agno, XFS_BTNUM_FINO);
++
++      error = xfs_check_agi_freecount(cur, agi);
++      if (error)
++              goto error_cur;
++
++      if (agno == pagno) {
++              /*
++               * We're in the same AG as the parent inode so allocate the
++               * closest inode to the parent.
++               */
++              error = xfs_inobt_lookup(cur, pagino, XFS_LOOKUP_LE, &i);
++              if (error)
++                      goto error_cur;
++              if (i == 1) {
++                      error = xfs_inobt_get_rec(cur, &rec, &i);
++                      if (error)
++                              goto error_cur;
++                      XFS_WANT_CORRUPTED_GOTO(i == 1, error_cur);
++
++                      /*
++                       * See if we've landed in the parent inode record. The
++                       * finobt only tracks chunks with at least one free
++                       * inode, so record existence is enough.
++                       */
++                      if (pagino >= rec.ir_startino &&
++                          pagino < (rec.ir_startino + XFS_INODES_PER_CHUNK))
++                              goto alloc_inode;
++              }
++
++              error = xfs_btree_dup_cursor(cur, &tcur);
++              if (error) 
++                      goto error_cur;
++
++              error = xfs_inobt_lookup(tcur, pagino, XFS_LOOKUP_GE, &j);
++              if (error)
++                      goto error_tcur;
++              if (j == 1) {
++                      error = xfs_inobt_get_rec(tcur, &trec, &j);
++                      if (error)
++                              goto error_tcur;
++                      XFS_WANT_CORRUPTED_GOTO(j == 1, error_tcur);
++              }
++
++              if (i == 1 && j == 1) {
++                      if ((pagino - rec.ir_startino + XFS_INODES_PER_CHUNK - 1) >
++                          (trec.ir_startino - pagino)) {
++                              rec = trec;
++                              xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR);
++                              cur = tcur;
++                      } else {
++                              xfs_btree_del_cursor(tcur, XFS_BTREE_NOERROR);
++                      }
++              } else if (j == 1) {
++                      rec = trec;
++                      xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR);
++                      cur = tcur;
++              } else {
++                      xfs_btree_del_cursor(tcur, XFS_BTREE_NOERROR);
++              }
++      } else {
++              /*
++               * Different AG from the parent inode. Check the record for the
++               * most recently allocated inode.
++               */
++              if (agi->agi_newino != cpu_to_be32(NULLAGINO)) {
++                      error = xfs_inobt_lookup(cur, agi->agi_newino,
++                                               XFS_LOOKUP_EQ, &i);
++                      if (error)
++                              goto error_cur;
++                      if (i == 1) {
++                              error = xfs_inobt_get_rec(cur, &rec, &i);
++                              if (error)
++                                      goto error_cur;
++                              XFS_WANT_CORRUPTED_GOTO(i == 1, error_cur);
++                              goto alloc_inode;
++                      }
++              }
++
++              /*
++               * Allocate the first inode available in the AG.
++               */
++              error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &i);
++              if (error)
++                      goto error_cur;
++              XFS_WANT_CORRUPTED_GOTO(i == 1, error_cur);
++
++              error = xfs_inobt_get_rec(cur, &rec, &i);
++              if (error)
++                      goto error_cur;
++              XFS_WANT_CORRUPTED_GOTO(i == 1, error_cur);
++      }
++
++alloc_inode:
++      offset = xfs_lowbit64(rec.ir_free);
++      ASSERT(offset >= 0);
++      ASSERT(offset < XFS_INODES_PER_CHUNK);
++      ASSERT((XFS_AGINO_TO_OFFSET(mp, rec.ir_startino) %
++                                 XFS_INODES_PER_CHUNK) == 0);
++      ino = XFS_AGINO_TO_INO(mp, agno, rec.ir_startino + offset);
++
++      /*
++       * Modify or remove the finobt record.
++       */
++      rec.ir_free &= ~XFS_INOBT_MASK(offset);
++      rec.ir_freecount--;
++      if (rec.ir_freecount) 
++              error = xfs_inobt_update(cur, &rec);
++      else
++              error = xfs_btree_delete(cur, &i);
++      if (error)
++              goto error_cur;
++
++      /*
++       * Lookup and modify the equivalent record in the inobt.
++       */
++      tcur = xfs_inobt_init_cursor(mp, tp, agbp, agno, XFS_BTNUM_INO);
++
++      error = xfs_check_agi_freecount(tcur, agi);
++      if (error)
++              goto error_tcur;
++
++      error = xfs_inobt_lookup(tcur, rec.ir_startino, XFS_LOOKUP_EQ, &i);
++      if (error)
++              goto error_tcur;
++      XFS_WANT_CORRUPTED_GOTO(i == 1, error_tcur);
++
++      error = xfs_inobt_get_rec(tcur, &trec, &i);
++      if (error)
++              goto error_tcur;
++      XFS_WANT_CORRUPTED_GOTO(i == 1, error_tcur);
++      ASSERT((XFS_AGINO_TO_OFFSET(mp, trec.ir_startino) %
++                                 XFS_INODES_PER_CHUNK) == 0);
++
++      trec.ir_free &= ~XFS_INOBT_MASK(offset);
++      trec.ir_freecount--;
++
++      XFS_WANT_CORRUPTED_GOTO((rec.ir_free == trec.ir_free) &&
++                              (rec.ir_freecount == trec.ir_freecount),
++                              error_tcur);
++
++      error = xfs_inobt_update(tcur, &trec);
++      if (error)
++              goto error_tcur;
++
++      /*
++       * Update the perag and superblock.
++       */
++      be32_add_cpu(&agi->agi_freecount, -1);
++      xfs_ialloc_log_agi(tp, agbp, XFS_AGI_FREECOUNT);
++      pag->pagi_freecount--;
++
++      xfs_trans_mod_sb(tp, XFS_TRANS_SB_IFREE, -1);
++
++      error = xfs_check_agi_freecount(tcur, agi);
++      if (error)
++              goto error_tcur;
++      error = xfs_check_agi_freecount(cur, agi);
++      if (error)
++              goto error_tcur;
++
++      xfs_btree_del_cursor(tcur, XFS_BTREE_NOERROR);
++      xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR);
++      xfs_perag_put(pag);
++      *inop = ino;
++      return 0;
++
++error_tcur:
++      xfs_btree_del_cursor(tcur, XFS_BTREE_ERROR);
++error_cur:
++      xfs_btree_del_cursor(cur, XFS_BTREE_ERROR);
++      xfs_perag_put(pag);
++      return error;
++}
++
+ /*
+  * Allocate an inode on disk.
+  *
+@@ -1069,78 +1325,34 @@ out_error:
+       return XFS_ERROR(error);
+ }
+-/*
+- * Free disk inode.  Carefully avoids touching the incore inode, all
+- * manipulations incore are the caller's responsibility.
+- * The on-disk inode is not changed by this operation, only the
+- * btree (free inode mask) is changed.
+- */
+-int
+-xfs_difree(
+-      xfs_trans_t     *tp,            /* transaction pointer */
+-      xfs_ino_t       inode,          /* inode to be freed */
+-      xfs_bmap_free_t *flist,         /* extents to free */
+-      int             *delete,        /* set if inode cluster was deleted */
+-      xfs_ino_t       *first_ino)     /* first inode in deleted cluster */
++STATIC int
++xfs_difree_inobt(
++      struct xfs_mount                *mp,
++      struct xfs_trans                *tp,
++      struct xfs_buf                  *agbp,
++      xfs_agino_t                     agino,
++      struct xfs_bmap_free            *flist,
++      int                             *deleted,
++      xfs_ino_t                       *first_ino,
++      struct xfs_inobt_rec_incore     *orec)
+ {
+-      /* REFERENCED */
+-      xfs_agblock_t   agbno;  /* block number containing inode */
+-      xfs_buf_t       *agbp;  /* buffer containing allocation group header */
+-      xfs_agino_t     agino;  /* inode number relative to allocation group */
+-      xfs_agnumber_t  agno;   /* allocation group number */
+-      xfs_agi_t       *agi;   /* allocation group header */
+-      xfs_btree_cur_t *cur;   /* inode btree cursor */
+-      int             error;  /* error return value */
+-      int             i;      /* result code */
+-      int             ilen;   /* inodes in an inode cluster */
+-      xfs_mount_t     *mp;    /* mount structure for filesystem */
+-      int             off;    /* offset of inode in inode chunk */
+-      xfs_inobt_rec_incore_t rec;     /* btree record */
+-      struct xfs_perag *pag;
++      struct xfs_agi                  *agi = XFS_BUF_TO_AGI(agbp);
++      xfs_agnumber_t                  agno = be32_to_cpu(agi->agi_seqno);
++      struct xfs_perag                *pag;
++      struct xfs_btree_cur            *cur;
++      struct xfs_inobt_rec_incore     rec;
++      int                             ilen;
++      int                             error;
++      int                             i;
++      int                             off;
+-      mp = tp->t_mountp;
+-
+-      /*
+-       * Break up inode number into its components.
+-       */
+-      agno = XFS_INO_TO_AGNO(mp, inode);
+-      if (agno >= mp->m_sb.sb_agcount)  {
+-              xfs_warn(mp, "%s: agno >= mp->m_sb.sb_agcount (%d >= %d).",
+-                      __func__, agno, mp->m_sb.sb_agcount);
+-              ASSERT(0);
+-              return XFS_ERROR(EINVAL);
+-      }
+-      agino = XFS_INO_TO_AGINO(mp, inode);
+-      if (inode != XFS_AGINO_TO_INO(mp, agno, agino))  {
+-              xfs_warn(mp, "%s: inode != XFS_AGINO_TO_INO() (%llu != %llu).",
+-                      __func__, (unsigned long long)inode,
+-                      (unsigned long long)XFS_AGINO_TO_INO(mp, agno, agino));
+-              ASSERT(0);
+-              return XFS_ERROR(EINVAL);
+-      }
+-      agbno = XFS_AGINO_TO_AGBNO(mp, agino);
+-      if (agbno >= mp->m_sb.sb_agblocks)  {
+-              xfs_warn(mp, "%s: agbno >= mp->m_sb.sb_agblocks (%d >= %d).",
+-                      __func__, agbno, mp->m_sb.sb_agblocks);
+-              ASSERT(0);
+-              return XFS_ERROR(EINVAL);
+-      }
+-      /*
+-       * Get the allocation group header.
+-       */
+-      error = xfs_ialloc_read_agi(mp, tp, agno, &agbp);
+-      if (error) {
+-              xfs_warn(mp, "%s: xfs_ialloc_read_agi() returned error %d.",
+-                      __func__, error);
+-              return error;
+-      }
+-      agi = XFS_BUF_TO_AGI(agbp);
+       ASSERT(agi->agi_magicnum == cpu_to_be32(XFS_AGI_MAGIC));
+-      ASSERT(agbno < be32_to_cpu(agi->agi_length));
++      ASSERT(XFS_AGINO_TO_AGBNO(mp, agino) < be32_to_cpu(agi->agi_length));
++
+       /*
+        * Initialize the cursor.
+        */
+-      cur = xfs_inobt_init_cursor(mp, tp, agbp, agno);
++      cur = xfs_inobt_init_cursor(mp, tp, agbp, agno, XFS_BTNUM_INO);
+       error = xfs_check_agi_freecount(cur, agi);
+       if (error)
+@@ -1180,7 +1392,7 @@ xfs_difree(
+       if (!(mp->m_flags & XFS_MOUNT_IKEEP) &&
+           (rec.ir_freecount == XFS_IALLOC_INODES(mp))) {
+-              *delete = 1;
++              *deleted = 1;
+               *first_ino = XFS_AGINO_TO_INO(mp, agno, rec.ir_startino);
+               /*
+@@ -1208,7 +1420,7 @@ xfs_difree(
+                               agno, XFS_INO_TO_AGBNO(mp,rec.ir_startino)),
+                               XFS_IALLOC_BLOCKS(mp), flist, mp);
+       } else {
+-              *delete = 0;
++              *deleted = 0;
+               error = xfs_inobt_update(cur, &rec);
+               if (error) {
+@@ -1232,6 +1444,7 @@ xfs_difree(
+       if (error)
+               goto error0;
++      *orec = rec;
+       xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR);
+       return 0;
+@@ -1240,6 +1453,189 @@ error0:
+       return error;
+ }
++/*
++ * Free an inode in the free inode btree.
++ */
++STATIC int
++xfs_difree_finobt(
++      struct xfs_mount                *mp,
++      struct xfs_trans                *tp,
++      struct xfs_buf                  *agbp,
++      xfs_agino_t                     agino,
++      struct xfs_inobt_rec_incore     *ibtrec) /* inobt record */
++{
++      struct xfs_agi                  *agi = XFS_BUF_TO_AGI(agbp);
++      xfs_agnumber_t                  agno = be32_to_cpu(agi->agi_seqno);
++      struct xfs_btree_cur            *cur;
++      struct xfs_inobt_rec_incore     rec;
++      int                             offset = agino - ibtrec->ir_startino;
++      int                             error;
++      int                             i;
++
++      cur = xfs_inobt_init_cursor(mp, tp, agbp, agno, XFS_BTNUM_FINO);
++
++      error = xfs_inobt_lookup(cur, ibtrec->ir_startino, XFS_LOOKUP_EQ, &i);
++      if (error)
++              goto error;
++      if (i == 0) {
++              /*
++               * If the record does not exist in the finobt, we must have just
++               * freed an inode in a previously fully allocated chunk. If not,
++               * something is out of sync.
++               */
++              XFS_WANT_CORRUPTED_GOTO(ibtrec->ir_freecount == 1, error);
++
++              error = xfs_inobt_insert_rec(cur, ibtrec->ir_freecount,
++                                           ibtrec->ir_free, &i);
++              if (error)
++                      goto error;
++              ASSERT(i == 1);
++
++              goto out;
++      }
++
++      /*
++       * Read and update the existing record.
++       */
++      error = xfs_inobt_get_rec(cur, &rec, &i);
++      if (error)
++              goto error;
++      XFS_WANT_CORRUPTED_GOTO(i == 1, error);
++
++      rec.ir_free |= XFS_INOBT_MASK(offset);
++      rec.ir_freecount++;
++
++      XFS_WANT_CORRUPTED_GOTO((rec.ir_free == ibtrec->ir_free) &&
++                              (rec.ir_freecount == ibtrec->ir_freecount),
++                              error);
++
++      /*
++       * The content of inobt records should always match between the inobt
++       * and finobt. The lifecycle of records in the finobt is different from
++       * the inobt in that the finobt only tracks records with at least one
++       * free inode. This is to optimize lookup for inode allocation purposes.
++       * The following checks determine whether to update the existing record or
++       * remove it entirely.
++       */
++
++      if (rec.ir_freecount == XFS_IALLOC_INODES(mp) &&
++          !(mp->m_flags & XFS_MOUNT_IKEEP)) {
++              /*
++               * If all inodes are free and we're in !ikeep mode, the entire
++               * inode chunk has been deallocated. Remove the record from the
++               * finobt.
++               */
++              error = xfs_btree_delete(cur, &i);
++              if (error)
++                      goto error;
++              ASSERT(i == 1);
++      } else {
++              /*
++               * The existing finobt record was modified and has a combination
++               * of allocated and free inodes or is completely free and ikeep
++               * is enabled. Update the record.
++               */
++              error = xfs_inobt_update(cur, &rec);
++              if (error)
++                      goto error;
++      }
++
++out:
++      error = xfs_check_agi_freecount(cur, agi);
++      if (error)
++              goto error;
++
++      xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR);
++      return 0;
++
++error:
++      xfs_btree_del_cursor(cur, XFS_BTREE_ERROR);
++      return error;
++}
++
++/*
++ * Free disk inode.  Carefully avoids touching the incore inode, all
++ * manipulations incore are the caller's responsibility.
++ * The on-disk inode is not changed by this operation, only the
++ * btree (free inode mask) is changed.
++ */
++int
++xfs_difree(
++      struct xfs_trans        *tp,            /* transaction pointer */
++      xfs_ino_t               inode,          /* inode to be freed */
++      struct xfs_bmap_free    *flist,         /* extents to free */
++      int                     *deleted,/* set if inode cluster was deleted */
++      xfs_ino_t               *first_ino)/* first inode in deleted cluster */
++{
++      /* REFERENCED */
++      xfs_agblock_t           agbno;  /* block number containing inode */
++      struct xfs_buf          *agbp;  /* buffer for allocation group header */
++      xfs_agino_t             agino;  /* allocation group inode number */
++      xfs_agnumber_t          agno;   /* allocation group number */
++      int                     error;  /* error return value */
++      struct xfs_mount        *mp;    /* mount structure for filesystem */
++      struct xfs_inobt_rec_incore rec;/* btree record */
++
++      mp = tp->t_mountp;
++
++      /*
++       * Break up inode number into its components.
++       */
++      agno = XFS_INO_TO_AGNO(mp, inode);
++      if (agno >= mp->m_sb.sb_agcount)  {
++              xfs_warn(mp, "%s: agno >= mp->m_sb.sb_agcount (%d >= %d).",
++                      __func__, agno, mp->m_sb.sb_agcount);
++              ASSERT(0);
++              return XFS_ERROR(EINVAL);
++      }
++      agino = XFS_INO_TO_AGINO(mp, inode);
++      if (inode != XFS_AGINO_TO_INO(mp, agno, agino))  {
++              xfs_warn(mp, "%s: inode != XFS_AGINO_TO_INO() (%llu != %llu).",
++                      __func__, (unsigned long long)inode,
++                      (unsigned long long)XFS_AGINO_TO_INO(mp, agno, agino));
++              ASSERT(0);
++              return XFS_ERROR(EINVAL);
++      }
++      agbno = XFS_AGINO_TO_AGBNO(mp, agino);
++      if (agbno >= mp->m_sb.sb_agblocks)  {
++              xfs_warn(mp, "%s: agbno >= mp->m_sb.sb_agblocks (%d >= %d).",
++                      __func__, agbno, mp->m_sb.sb_agblocks);
++              ASSERT(0);
++              return XFS_ERROR(EINVAL);
++      }
++      /*
++       * Get the allocation group header.
++       */
++      error = xfs_ialloc_read_agi(mp, tp, agno, &agbp);
++      if (error) {
++              xfs_warn(mp, "%s: xfs_ialloc_read_agi() returned error %d.",
++                      __func__, error);
++              return error;
++      }
++
++      /*
++       * Fix up the inode allocation btree.
++       */
++      error = xfs_difree_inobt(mp, tp, agbp, agino, flist, deleted, first_ino,
++                               &rec);
++      if (error)
++              goto error0;
++
++      /*
++       * Fix up the free inode btree.
++       */
++      if (xfs_sb_version_hasfinobt(&mp->m_sb)) {
++              error = xfs_difree_finobt(mp, tp, agbp, agino, &rec);
++              if (error)
++                      goto error0;
++      }
++
++      return 0;
++
++error0:
++      return error;
++}
++
+ STATIC int
+ xfs_imap_lookup(
+       struct xfs_mount        *mp,
+@@ -1271,7 +1667,7 @@ xfs_imap_lookup(
+        * we have a record, we need to ensure it contains the inode number
+        * we are looking up.
+        */
+-      cur = xfs_inobt_init_cursor(mp, tp, agbp, agno);
++      cur = xfs_inobt_init_cursor(mp, tp, agbp, agno, XFS_BTNUM_INO);
+       error = xfs_inobt_lookup(cur, agino, XFS_LOOKUP_LE, &i);
+       if (!error) {
+               if (i)
+@@ -1482,6 +1878,8 @@ xfs_ialloc_log_agi(
+               offsetof(xfs_agi_t, agi_newino),
+               offsetof(xfs_agi_t, agi_dirino),
+               offsetof(xfs_agi_t, agi_unlinked),
++              offsetof(xfs_agi_t, agi_free_root),
++              offsetof(xfs_agi_t, agi_free_level),
+               sizeof(xfs_agi_t)
+       };
+ #ifdef DEBUG
+@@ -1491,14 +1889,39 @@ xfs_ialloc_log_agi(
+       ASSERT(agi->agi_magicnum == cpu_to_be32(XFS_AGI_MAGIC));
+ #endif
+       /*
+-       * Compute byte offsets for the first and last fields.
++       * The growth of the agi buffer over time now requires that we interpret
++       * the buffer as two logical regions delineated at the end of the unlinked
++       * list. This is due to the size of the hash table and its location in the
++       * middle of the agi.
++       *
++       * For example, a request to log a field before agi_unlinked and a field
++       * after agi_unlinked could cause us to log the entire hash table and use
++       * an excessive amount of log space. To avoid this behavior, log the
++       * region up through agi_unlinked in one call and the region after
++       * agi_unlinked through the end of the structure in another.
+        */
+-      xfs_btree_offsets(fields, offsets, XFS_AGI_NUM_BITS, &first, &last);
++      xfs_trans_buf_set_type(tp, bp, XFS_BLFT_AGI_BUF);
++
+       /*
+-       * Log the allocation group inode header buffer.
++       * Compute byte offsets for the first and last fields in the first
++       * region and log agi buffer. This only logs up through agi_unlinked.
+        */
+-      xfs_trans_buf_set_type(tp, bp, XFS_BLFT_AGI_BUF);
+-      xfs_trans_log_buf(tp, bp, first, last);
++      if (fields & XFS_AGI_ALL_BITS_R1) {
++              xfs_btree_offsets(fields, offsets, XFS_AGI_NUM_BITS_R1,
++                                &first, &last);
++              xfs_trans_log_buf(tp, bp, first, last);
++      }
++
++      /*
++       * Mask off the bits in the first region and calculate the first and last
++       * field offsets for any bits in the second region.
++       */
++      fields &= ~XFS_AGI_ALL_BITS_R1;
++      if (fields) {
++              xfs_btree_offsets(fields, offsets, XFS_AGI_NUM_BITS_R2,
++                                &first, &last);
++              xfs_trans_log_buf(tp, bp, first, last);
++      }
+ }
+ #ifdef DEBUG
+diff --git a/libxfs/xfs_ialloc_btree.c b/libxfs/xfs_ialloc_btree.c
+index 0a29d73..c337389 100644
+--- a/libxfs/xfs_ialloc_btree.c
++++ b/libxfs/xfs_ialloc_btree.c
+@@ -30,7 +30,8 @@ xfs_inobt_dup_cursor(
+       struct xfs_btree_cur    *cur)
+ {
+       return xfs_inobt_init_cursor(cur->bc_mp, cur->bc_tp,
+-                      cur->bc_private.a.agbp, cur->bc_private.a.agno);
++                      cur->bc_private.a.agbp, cur->bc_private.a.agno,
++                      cur->bc_btnum);
+ }
+ STATIC void
+@@ -47,6 +48,21 @@ xfs_inobt_set_root(
+       xfs_ialloc_log_agi(cur->bc_tp, agbp, XFS_AGI_ROOT | XFS_AGI_LEVEL);
+ }
++STATIC void
++xfs_finobt_set_root(
++      struct xfs_btree_cur    *cur,
++      union xfs_btree_ptr     *nptr,
++      int                     inc)    /* level change */
++{
++      struct xfs_buf          *agbp = cur->bc_private.a.agbp;
++      struct xfs_agi          *agi = XFS_BUF_TO_AGI(agbp);
++
++      agi->agi_free_root = nptr->s;
++      be32_add_cpu(&agi->agi_free_level, inc);
++      xfs_ialloc_log_agi(cur->bc_tp, agbp,
++                         XFS_AGI_FREE_ROOT | XFS_AGI_FREE_LEVEL);
++}
++
+ STATIC int
+ xfs_inobt_alloc_block(
+       struct xfs_btree_cur    *cur,
+@@ -154,6 +170,17 @@ xfs_inobt_init_ptr_from_cur(
+       ptr->s = agi->agi_root;
+ }
++STATIC void
++xfs_finobt_init_ptr_from_cur(
++      struct xfs_btree_cur    *cur,
++      union xfs_btree_ptr     *ptr)
++{
++      struct xfs_agi          *agi = XFS_BUF_TO_AGI(cur->bc_private.a.agbp);
++
++      ASSERT(cur->bc_private.a.agno == be32_to_cpu(agi->agi_seqno));
++      ptr->s = agi->agi_free_root;
++}
++
+ STATIC __int64_t
+ xfs_inobt_key_diff(
+       struct xfs_btree_cur    *cur,
+@@ -184,6 +211,7 @@ xfs_inobt_verify(
+        */
+       switch (block->bb_magic) {
+       case cpu_to_be32(XFS_IBT_CRC_MAGIC):
++      case cpu_to_be32(XFS_FIBT_CRC_MAGIC):
+               if (!xfs_sb_version_hascrc(&mp->m_sb))
+                       return false;
+               if (!uuid_equal(&block->bb_u.s.bb_uuid, &mp->m_sb.sb_uuid))
+@@ -195,6 +223,7 @@ xfs_inobt_verify(
+                       return false;
+               /* fall through */
+       case cpu_to_be32(XFS_IBT_MAGIC):
++      case cpu_to_be32(XFS_FIBT_MAGIC):
+               break;
+       default:
+               return 0;
+@@ -371,6 +400,28 @@ static const struct xfs_btree_ops xfs_inobt_ops = {
+ #endif
+ };
++static const struct xfs_btree_ops xfs_finobt_ops = {
++      .rec_len                = sizeof(xfs_inobt_rec_t),
++      .key_len                = sizeof(xfs_inobt_key_t),
++
++      .dup_cursor             = xfs_inobt_dup_cursor,
++      .set_root               = xfs_finobt_set_root,
++      .alloc_block            = xfs_inobt_alloc_block,
++      .free_block             = xfs_inobt_free_block,
++      .get_minrecs            = xfs_inobt_get_minrecs,
++      .get_maxrecs            = xfs_inobt_get_maxrecs,
++      .init_key_from_rec      = xfs_inobt_init_key_from_rec,
++      .init_rec_from_key      = xfs_inobt_init_rec_from_key,
++      .init_rec_from_cur      = xfs_inobt_init_rec_from_cur,
++      .init_ptr_from_cur      = xfs_finobt_init_ptr_from_cur,
++      .key_diff               = xfs_inobt_key_diff,
++      .buf_ops                = &xfs_inobt_buf_ops,
++#if defined(DEBUG) || defined(XFS_WARN)
++      .keys_inorder           = xfs_inobt_keys_inorder,
++      .recs_inorder           = xfs_inobt_recs_inorder,
++#endif
++};
++
+ /*
+  * Allocate a new inode btree cursor.
+  */
+@@ -379,7 +430,8 @@ xfs_inobt_init_cursor(
+       struct xfs_mount        *mp,            /* file system mount point */
+       struct xfs_trans        *tp,            /* transaction pointer */
+       struct xfs_buf          *agbp,          /* buffer for agi structure */
+-      xfs_agnumber_t          agno)           /* allocation group number */
++      xfs_agnumber_t          agno,           /* allocation group number */
++      xfs_btnum_t             btnum)          /* ialloc or free ino btree */
+ {
+       struct xfs_agi          *agi = XFS_BUF_TO_AGI(agbp);
+       struct xfs_btree_cur    *cur;
+@@ -388,11 +440,17 @@ xfs_inobt_init_cursor(
+       cur->bc_tp = tp;
+       cur->bc_mp = mp;
+-      cur->bc_nlevels = be32_to_cpu(agi->agi_level);
+-      cur->bc_btnum = XFS_BTNUM_INO;
++      cur->bc_btnum = btnum;
++      if (btnum == XFS_BTNUM_INO) {
++              cur->bc_nlevels = be32_to_cpu(agi->agi_level);
++              cur->bc_ops = &xfs_inobt_ops;
++      } else {
++              cur->bc_nlevels = be32_to_cpu(agi->agi_free_level);
++              cur->bc_ops = &xfs_finobt_ops;
++      }
++
+       cur->bc_blocklog = mp->m_sb.sb_blocklog;
+-      cur->bc_ops = &xfs_inobt_ops;
+       if (xfs_sb_version_hascrc(&mp->m_sb))
+               cur->bc_flags |= XFS_BTREE_CRC_BLOCKS;
+diff --git a/libxfs/xfs_sb.c b/libxfs/xfs_sb.c
+index 7ee4612..ea89367 100644
+--- a/libxfs/xfs_sb.c
++++ b/libxfs/xfs_sb.c
+@@ -408,6 +408,8 @@ xfs_sb_from_disk(
+       to->sb_features_incompat = be32_to_cpu(from->sb_features_incompat);
+       to->sb_features_log_incompat =
+                               be32_to_cpu(from->sb_features_log_incompat);
++      /* crc is only used on disk, not in memory; just init to 0 here. */
++      to->sb_crc = 0;
+       to->sb_pad = 0;
+       to->sb_pquotino = be64_to_cpu(from->sb_pquotino);
+       to->sb_lsn = be64_to_cpu(from->sb_lsn);
+@@ -485,6 +487,9 @@ xfs_sb_to_disk(
+       if (!fields)
+               return;
++      /* We should never write the crc here, it's updated in the IO path */
++      fields &= ~XFS_SB_CRC;
++
+       xfs_sb_quota_to_disk(to, from, &fields);
+       while (fields) {
+               f = (xfs_sb_field_t)xfs_lowbit64((__uint64_t)fields);
+diff --git a/libxfs/xfs_trans_resv.c b/libxfs/xfs_trans_resv.c
+index 1e59fad..870d4fc 100644
+--- a/libxfs/xfs_trans_resv.c
++++ b/libxfs/xfs_trans_resv.c
+@@ -81,6 +81,37 @@ xfs_calc_inode_res(
+ }
+ /*
++ * The free inode btree is a conditional feature and the log reservation
++ * requirements differ slightly from that of the traditional inode allocation
++ * btree. The finobt tracks records for inode chunks with at least one free inode.
++ * Therefore, a record can be removed from the tree for an inode allocation or
++ * free and the associated merge reservation is unconditional. This also covers
++ * the possibility of a split on record insertion.
++ *
++ * the free inode btree: max depth * block size
++ * the free inode btree entry: block size
++ *
++ * TODO: is the modify res really necessary? covered by the merge/split res?
++ * This seems to be the pattern of ifree, but not create_resv_alloc. Why?
++ */
++STATIC uint
++xfs_calc_finobt_res(
++      struct xfs_mount        *mp,
++      int                     modify)
++{
++      uint res;
++
++      if (!xfs_sb_version_hasfinobt(&mp->m_sb))
++              return 0;
++
++      res = xfs_calc_buf_res(mp->m_in_maxlevels, XFS_FSB_TO_B(mp, 1));
++      if (modify)
++              res += (uint)XFS_FSB_TO_B(mp, 1);
++
++      return res;
++}
++
++/*
+  * Various log reservation values.
+  *
+  * These are based on the size of the file system block because that is what
+@@ -250,6 +281,7 @@ xfs_calc_remove_reservation(
+  *    the superblock for the nlink flag: sector size
+  *    the directory btree: (max depth + v2) * dir block size
+  *    the directory inode's bmap btree: (max depth + v2) * block size
++ *    the finobt
+  */
+ STATIC uint
+ xfs_calc_create_resv_modify(
+@@ -258,7 +290,8 @@ xfs_calc_create_resv_modify(
+       return xfs_calc_inode_res(mp, 2) +
+               xfs_calc_buf_res(1, mp->m_sb.sb_sectsize) +
+               (uint)XFS_FSB_TO_B(mp, 1) +
+-              xfs_calc_buf_res(XFS_DIROP_LOG_COUNT(mp), XFS_FSB_TO_B(mp, 1));
++              xfs_calc_buf_res(XFS_DIROP_LOG_COUNT(mp), XFS_FSB_TO_B(mp, 1)) +
++              xfs_calc_finobt_res(mp, 1);
+ }
+ /*
+@@ -268,6 +301,7 @@ xfs_calc_create_resv_modify(
+  *    the inode blocks allocated: XFS_IALLOC_BLOCKS * blocksize
+  *    the inode btree: max depth * blocksize
+  *    the allocation btrees: 2 trees * (max depth - 1) * block size
++ *    the finobt
+  */
+ STATIC uint
+ xfs_calc_create_resv_alloc(
+@@ -278,7 +312,8 @@ xfs_calc_create_resv_alloc(
+               xfs_calc_buf_res(XFS_IALLOC_BLOCKS(mp), XFS_FSB_TO_B(mp, 1)) +
+               xfs_calc_buf_res(mp->m_in_maxlevels, XFS_FSB_TO_B(mp, 1)) +
+               xfs_calc_buf_res(XFS_ALLOCFREE_LOG_COUNT(mp, 1),
+-                               XFS_FSB_TO_B(mp, 1));
++                               XFS_FSB_TO_B(mp, 1)) +
++              xfs_calc_finobt_res(mp, 0);
+ }
+ STATIC uint
+@@ -296,6 +331,7 @@ __xfs_calc_create_reservation(
+  *    the superblock for the nlink flag: sector size
+  *    the inode btree: max depth * blocksize
+  *    the allocation btrees: 2 trees * (max depth - 1) * block size
++ *    the finobt
+  */
+ STATIC uint
+ xfs_calc_icreate_resv_alloc(
+@@ -305,7 +341,8 @@ xfs_calc_icreate_resv_alloc(
+               mp->m_sb.sb_sectsize +
+               xfs_calc_buf_res(mp->m_in_maxlevels, XFS_FSB_TO_B(mp, 1)) +
+               xfs_calc_buf_res(XFS_ALLOCFREE_LOG_COUNT(mp, 1),
+-                               XFS_FSB_TO_B(mp, 1));
++                               XFS_FSB_TO_B(mp, 1)) +
++              xfs_calc_finobt_res(mp, 0);
+ }
+ STATIC uint
+@@ -359,6 +396,7 @@ xfs_calc_symlink_reservation(
+  *    the on disk inode before ours in the agi hash list: inode cluster size
+  *    the inode btree: max depth * blocksize
+  *    the allocation btrees: 2 trees * (max depth - 1) * block size
++ *    the finobt
+  */
+ STATIC uint
+ xfs_calc_ifree_reservation(
+@@ -374,7 +412,8 @@ xfs_calc_ifree_reservation(
+               xfs_calc_buf_res(2 + XFS_IALLOC_BLOCKS(mp) +
+                                mp->m_in_maxlevels, 0) +
+               xfs_calc_buf_res(XFS_ALLOCFREE_LOG_COUNT(mp, 1),
+-                               XFS_FSB_TO_B(mp, 1));
++                               XFS_FSB_TO_B(mp, 1)) +
++              xfs_calc_finobt_res(mp, 1);
+ }
+ /*
+diff --git a/man/man5/xfs.5 b/man/man5/xfs.5
+index 0f490f0..5e47c4c 100644
+--- a/man/man5/xfs.5
++++ b/man/man5/xfs.5
+@@ -1,6 +1,6 @@
+ .TH xfs 5
+ .SH NAME
+-xfs \- layout of the XFS filesystem
++xfs \- layout and mount options for the XFS filesystem
+ .SH DESCRIPTION
+ An XFS filesystem can reside on a regular disk partition or on a
+ logical volume.
+@@ -98,9 +98,210 @@ and by-handle (see
+ .BR open_by_handle (3))
+ interfaces.
+ .SH MOUNT OPTIONS
+-Refer to the
++The following XFS-specific mount options may be used when mounting
++an XFS filesystem. Other generic options may be used as well; refer to the
+ .BR mount (8)
+-manual entry for descriptions of the individual XFS mount options.
++manual page for more details.
++.TP
++.B allocsize=size
++Sets the buffered I/O end-of-file preallocation size when
++doing delayed allocation writeout. Valid values for this
++option are page size (typically 4KiB) through to 1GiB,
++inclusive, in power-of-2 increments.
++.sp
++The default behavior is for dynamic end-of-file
++preallocation size, which uses a set of heuristics to
++optimise the preallocation size based on the current
++allocation patterns within the file and the access patterns
++to the file. Specifying a fixed allocsize value turns off
++the dynamic behavior.
++.TP
++.BR attr2 | noattr2
++The options enable/disable an "opportunistic" improvement to
++be made in the way inline extended attributes are stored
++on-disk.  When the new form is used for the first time when
++attr2 is selected (either when setting or removing extended
++attributes) the on-disk superblock feature bit field will be
++updated to reflect this format being in use.
++.sp
++The default behavior is determined by the on-disk feature
++bit indicating that attr2 behavior is active. If either
++mount option it set, then that becomes the new default used
++by the filesystem.
++.sp
++CRC enabled filesystems always use the attr2 format, and so
++will reject the noattr2 mount option if it is set.
++.TP
++.BR barrier | nobarrier
++Enables/disables the use of block layer write barriers for
++writes into the journal and for data integrity operations.
++This allows for drive level write caching to be enabled, for
++devices that support write barriers.
++.sp
++Barriers are enabled by default.
++.TP
++.BR discard | nodiscard
++Enable/disable the issuing of commands to let the block
++device reclaim space freed by the filesystem.  This is
++useful for SSD devices, thinly provisioned LUNs and virtual
++machine images, but may have a performance impact.
++.sp
++Note: It is currently recommended that you use the fstrim
++application to discard unused blocks rather than the discard
++mount option because the performance impact of this option
++is quite severe.  For this reason, nodiscard is the default.
++.TP
++.BR grpid | bsdgroups | nogrpid | sysvgroups
++These options define what group ID a newly created file
++gets.  When grpid is set, it takes the group ID of the
++directory in which it is created; otherwise it takes the
++fsgid of the current process, unless the directory has the
++setgid bit set, in which case it takes the gid from the
++parent directory, and also gets the setgid bit set if it is
++a directory itself.
++.TP
++.B filestreams
++Make the data allocator use the filestreams allocation mode
++across the entire filesystem rather than just on directories
++configured to use it.
++.TP
++.BR ikeep | noikeep
++When ikeep is specified, XFS does not delete empty inode
++clusters and keeps them around on disk.  When noikeep is
++specified, empty inode clusters are returned to the free
++space pool.  noikeep is the default.
++.TP
++.BR inode32 | inode64
++When inode32 is specified, it indicates that XFS limits
++inode creation to locations which will not result in inode
++numbers with more than 32 bits of significance.
++.sp
++When inode64 is specified, it indicates that XFS is allowed
++to create inodes at any location in the filesystem,
++including those which will result in inode numbers occupying
++more than 32 bits of significance.
++.sp
++inode32 is provided for backwards compatibility with older
++systems and applications, since 64 bits inode numbers might
++cause problems for some applications that cannot handle
++large inode numbers.  If applications are in use which do
++not handle inode numbers bigger than 32 bits, the inode32
++option should be specified.
++.sp
++For kernel v3.7 and later, inode64 is the default.
++.TP
++.BR  largeio | nolargeio
++If "nolargeio" is specified, the optimal I/O reported in
++st_blksize by stat(2) will be as small as possible to allow
++user applications to avoid inefficient read/modify/write
++I/O.  This is typically the page size of the machine, as
++this is the granularity of the page cache.
++.sp
++If "largeio" specified, a filesystem that was created with a
++"swidth" specified will return the "swidth" value (in bytes)
++in st_blksize. If the filesystem does not have a "swidth"
++specified but does specify an "allocsize" then "allocsize"
++(in bytes) will be returned instead. Otherwise the behavior
++is the same as if "nolargeio" was specified.  nolargeio
++is the default.
++.TP
++.B logbufs=value
++Set the number of in-memory log buffers.  Valid numbers
++range from 2\(en8 inclusive.
++.sp
++The default value is 8 buffers.
++.sp
++If the memory cost of 8 log buffers is too high on small
++systems, then it may be reduced at some cost to performance
++on metadata intensive workloads. The logbsize option below
++controls the size of each buffer and so is also relevant to
++this case.
++.TP
++.B logbsize=value
++Set the size of each in-memory log buffer.  The size may be
++specified in bytes, or in kibibytes (KiB) with a "k" suffix.
++Valid sizes for version 1 and version 2 logs are 16384 (value=16k)
++and 32768 (value=32k).  Valid sizes for version 2 logs also
++include 65536 (value=64k), 131072 (value=128k) and 262144 (value=256k). The
++logbsize must be an integer multiple of the log
++stripe unit configured at mkfs time.
++.sp
++The default value for version 1 logs is 32768, while the
++default value for version 2 logs is MAX(32768, log_sunit).
++.TP
++.BR logdev=device and rtdev=device
++Use an external log (metadata journal) and/or real-time device.
++An XFS filesystem has up to three parts: a data section, a log
++section, and a real-time section.  The real-time section is
++optional, and the log section can be separate from the data
++section or contained within it.
++.TP
++.B noalign
++Data allocations will not be aligned at stripe unit
++boundaries. This is only relevant to filesystems created
++with non-zero data alignment parameters (sunit, swidth) by
++mkfs.
++.TP
++.B norecovery
++The filesystem will be mounted without running log recovery.
++If the filesystem was not cleanly unmounted, it is likely to
++be inconsistent when mounted in "norecovery" mode.
++Some files or directories may not be accessible because of this.
++Filesystems mounted "norecovery" must be mounted read-only or
++the mount will fail.
++.TP
++.B nouuid
++Don't check for double mounted file systems using the file
++system uuid.  This is useful to mount LVM snapshot volumes,
++and often used in combination with "norecovery" for mounting
++read-only snapshots.
++.TP
++.B noquota
++Forcibly turns off all quota accounting and enforcement
++within the filesystem.
++.TP
++.B uquota/usrquota/uqnoenforce/quota
++User disk quota accounting enabled, and limits (optionally)
++enforced.  Refer to xfs_quota(8) for further details.
++.TP
++.B gquota/grpquota/gqnoenforce
++Group disk quota accounting enabled and limits (optionally)
++enforced.  Refer to xfs_quota(8) for further details.
++.TP
++.B pquota/prjquota/pqnoenforce
++Project disk quota accounting enabled and limits (optionally)
++enforced.  Refer to xfs_quota(8) for further details.
++.TP
++.BR sunit=value " and " swidth=value
++Used to specify the stripe unit and width for a RAID device
++or a stripe volume.  "value" must be specified in 512-byte
++block units. These options are only relevant to filesystems
++that were created with non-zero data alignment parameters.
++.sp
++The sunit and swidth parameters specified must be compatible
++with the existing filesystem alignment characteristics.  In
++general, that means the only valid changes to sunit are
++increasing it by a power-of-2 multiple. Valid swidth values
++are any integer multiple of a valid sunit value.
++.sp
++Typically the only time these mount options are necessary if
++after an underlying RAID device has had it's geometry
++modified, such as adding a new disk to a RAID5 lun and
++reshaping it.
++.TP
++.B swalloc
++Data allocations will be rounded up to stripe width boundaries
++when the current end of file is being extended and the file
++size is larger than the stripe width size.
++.TP
++.B wsync
++When specified, all filesystem namespace operations are
++executed synchronously. This ensures that when the namespace
++operation (create, unlink, etc) completes, the change to the
++namespace is on stable storage. This is useful in HA setups
++where failover must not result in clients seeing
++inconsistent namespace presentation during or after a
++failover event.
+ .SH SEE ALSO
+ .BR xfsctl (3),
+ .BR mount (8),
+diff --git a/man/man8/mkfs.xfs.8 b/man/man8/mkfs.xfs.8
+index 8184e10..ad9ff3d 100644
+--- a/man/man8/mkfs.xfs.8
++++ b/man/man8/mkfs.xfs.8
+@@ -7,6 +7,9 @@ mkfs.xfs \- construct an XFS filesystem
+ .B \-b
+ .I block_size
+ ] [
++.B \-m
++.I global_metadata_options
++] [
+ .B \-d
+ .I data_section_options
+ ] [
+@@ -125,6 +128,48 @@ The default value is 4096 bytes (4 KiB), the minimum is 512, and the
+ maximum is 65536 (64 KiB).
+ XFS on Linux currently only supports pagesize or smaller blocks.
+ .TP
++.BI \-m " global_metadata_options"
++These options specify metadata format options that either apply to the entire
++filesystem or aren't easily characterised by a specific functionality group. The
++valid
++.I global_metadata_options
++are:
++.RS 1.2i
++.TP
++.BI crc= value
++This is used to create a filesystem which maintains and checks CRC information
++in all metadata objects on disk. The value is either 0 to disable the feature,
++or 1 to enable the use of CRCs.
++.IP
++CRCs enable enhanced error detection due to hardware issues, whilst the format
++changes also improves crash recovery algorithms and the ability of various tools
++to validate and repair metadata corruptions when they are found.  The CRC
++algorithm used is CRC32c, so the overhead is dependent on CPU architecture as
++some CPUs have hardware acceleration of this algorithm.  Typically the overhead
++of calculating and checking the CRCs is not noticable in normal operation.
++.IP
++By default,
++.B mkfs.xfs
++will not enable metadata CRCs.
++.TP
++.BI finobt= value
++This option enables the use of a separate free inode btree index in each
++allocation group. The value is either 0 to disable the feature, or 1 to create
++a free inode btree in each allocation group.
++.IP
++The free inode btree mirrors the existing allocated inode btree index which
++indexes both used and free inodes. The free inode btree does not index used
++inodes, allowing faster, more consistent inode allocation performance as
++filesystems age.
++.IP
++By default,
++.B mkfs.xfs
++will not create free inode btrees. This feature is also currently only available
++for filesystems created with the
++.B \-m crc=1
++option set.
++.RE
++.TP
+ .BI \-d " data_section_options"
+ These options specify the location, size, and other parameters of the
+ data section of the filesystem. The valid
+diff --git a/man/man8/xfs_check.8 b/man/man8/xfs_check.8
+deleted file mode 100644
+index 23027ca..0000000
+--- a/man/man8/xfs_check.8
++++ /dev/null
+@@ -1,203 +0,0 @@
+-.TH xfs_check 8
+-.SH NAME
+-xfs_check \- check XFS filesystem consistency
+-.SH SYNOPSIS
+-.B xfs_check
+-[
+-.B \-i
+-.I ino
+-] ... [
+-.B \-b
+-.I bno
+-] ... [
+-.B \-f
+-] [
+-.B \-s
+-] [
+-.B \-v
+-] [
+-.B \-l
+-.I logdev
+-]
+-.I device
+-.br
+-.B xfs_check \-V
+-.SH DESCRIPTION
+-.B xfs_check
+-checks whether an XFS filesystem is consistent.
+-It is normally run only when there is reason to believe that the
+-filesystem has a consistency problem.
+-The filesystem to be checked is specified by the
+-.I device
+-argument, which should be the disk or volume device for the filesystem.
+-Filesystems stored in files can also be checked, using the
+-.B \-f
+-flag. The filesystem should normally be unmounted or read-only
+-during the execution of
+-.BR xfs_check .
+-Otherwise, spurious problems are reported.
+-.PP
+-Note that
+-.B xfs_check
+-is deprecated and scheduled for removal in June 2014. Please use
+-.BR xfs_repair " " \-n
+-instead.
+-.SH
+-OPTIONS
+-.TP
+-.B \-f
+-Specifies that the filesystem image to be processed is stored in a
+-regular file at
+-.I device
+-(see the
+-.BR mkfs.xfs "(8) " \-d
+-.I file
+-option). This might happen if an image copy
+-of a filesystem has been made into an ordinary file.
+-.TP
+-.BI \-l " logdev"
+-Specifies the device where the filesystem's external log resides.
+-Only for those filesystems which use an external log. See the
+-.BR mkfs.xfs "(8) " \-l
+-option, and refer to
+-.BR xfs (5)
+-for a detailed description of the XFS log.
+-.TP
+-.B \-s
+-Specifies that only serious errors should be reported.
+-Serious errors are those that make it impossible to find major data
+-structures in the filesystem. This option can be used to cut down the
+-amount of output when there is a serious problem, when the output
+-might make it difficult to see what the real problem is.
+-.TP
+-.B \-v
+-Specifies verbose output; it is impossibly long for a
+-reasonably-sized filesystem.
+-This option is intended for internal use only.
+-.TP
+-.BI \-i " ino"
+-Specifies verbose behavior for the specified inode
+-.IR ino .
+-For instance, it can be used to locate all the blocks
+-associated with a given inode.
+-.TP
+-.BI \-b " bno"
+-Specifies verbose behavior for the specific filesystem block at
+-.IR bno .
+-For instance, it can be used to determine what a specific block
+-is used for. The block number is a "file system block number".
+-Conversion between disk addresses (i.e. addresses reported by
+-.BR xfs_bmap (8))
+-and file system blocks may be accomplished using
+-.BR xfs_db "(8)'s " convert
+-command.
+-.TP
+-.B \-V
+-Prints the version number and exits.
+-.PP
+-Any output that is produced when
+-.B xfs_check
+-is not run in verbose mode indicates that the filesystem has an
+-inconsistency. The filesystem can be repaired using either
+-.BR xfs_repair (8)
+-to fix the filesystem in place, or by using
+-.BR xfsdump (8)
+-and
+-.BR mkfs.xfs (8)
+-to dump the filesystem, make a new filesystem, then use
+-.BR xfsrestore (8)
+-to restore the data onto the new filesystem.
+-Note that xfsdump may fail on a corrupt filesystem.
+-However, if the filesystem is mountable, xfsdump can
+-be used to try and save important data before
+-repairing the filesystem with xfs_repair.
+-If the filesystem is not mountable though, xfs_repair is
+-the only viable option.
+-.SH DIAGNOSTICS
+-If the filesystem is completely corrupt, a core dump might
+-be produced instead of the message
+-.RS
+-.I device
+-.B is not a valid filesystem
+-.RE
+-.PP
+-If the filesystem is very large (has many files) then
+-.B xfs_check
+-might run out of memory. In this case the message
+-.RS
+-.B out of memory
+-.RE
+-is printed.
+-.PP
+-The following is a description of the most likely problems and the associated
+-messages.
+-Most of the diagnostics produced are only meaningful with an understanding
+-of the structure of the filesystem.
+-.TP
+-.BI "agf_freeblks " n ", counted " m " in ag " a
+-The freeblocks count in the allocation group header for allocation group
+-.I a
+-doesn't match the number of blocks counted free.
+-.TP
+-.BI "agf_longest " n ", counted " m " in ag " a
+-The longest free extent in the allocation group header for allocation group
+-.I a
+-doesn't match the longest free extent found in the allocation group.
+-.TP
+-.BI "agi_count " n ", counted " m " in ag " a
+-The allocated inode count in the allocation group header for allocation group
+-.I a
+-doesn't match the number of inodes counted in the allocation group.
+-.TP
+-.BI "agi_freecount " n ", counted " m " in ag " a
+-The free inode count in the allocation group header for allocation group
+-.I a
+-doesn't match the number of inodes counted free in the allocation group.
+-.TP
+-.BI "block " a/b " expected inum 0 got " i
+-The block number is specified as a pair
+-(allocation group number, block in the allocation group).
+-The block is used multiple times (shared), between multiple inodes.
+-This message usually follows a message of the next type.
+-.TP
+-.BI "block " a/b " expected type unknown got " y
+-The block is used multiple times (shared).
+-.TP
+-.BI "block " a/b " type unknown not expected
+-The block is unaccounted for (not in the freelist and not in use).
+-.TP
+-.BI "link count mismatch for inode " nnn " (name " xxx "), nlink " m ", counted " n
+-The inode has a bad link count (number of references in directories).
+-.TP
+-.BI "rtblock " b " expected inum 0 got " i
+-The block is used multiple times (shared), between multiple inodes.
+-This message usually follows a message of the next type.
+-.TP
+-.BI "rtblock " b " expected type unknown got " y
+-The real-time block is used multiple times (shared).
+-.TP
+-.BI "rtblock " b " type unknown not expected
+-The real-time block is unaccounted for (not in the freelist and not in use).
+-.TP
+-.BI "sb_fdblocks " n ", counted " m
+-The number of free data blocks recorded
+-in the superblock doesn't match the number counted free in the filesystem.
+-.TP
+-.BI "sb_frextents " n ", counted " m
+-The number of free real-time extents recorded
+-in the superblock doesn't match the number counted free in the filesystem.
+-.TP
+-.BI "sb_icount " n ", counted " m
+-The number of allocated inodes recorded
+-in the superblock doesn't match the number allocated in the filesystem.
+-.TP
+-.BI "sb_ifree " n ", counted " m
+-The number of free inodes recorded
+-in the superblock doesn't match the number free in the filesystem.
+-.SH SEE ALSO
+-.BR mkfs.xfs (8),
+-.BR xfsdump (8),
+-.BR xfsrestore (8),
+-.BR xfs_ncheck (8),
+-.BR xfs_repair (8),
+-.BR xfs (5).
+diff --git a/man/man8/xfs_db.8 b/man/man8/xfs_db.8
+index 7a43a2c..4d8d4ff 100644
+--- a/man/man8/xfs_db.8
++++ b/man/man8/xfs_db.8
+@@ -38,8 +38,7 @@ commands may be run interactively (the default) or as arguments
+ on the command line. Multiple
+ .B \-c
+ arguments may be given. The commands are run in the sequence given,
+-then the program exits. This is the mechanism used to implement
+-.BR xfs_check (8).
++then the program exits.
+ .TP
+ .B \-f
+ Specifies that the filesystem image to be processed is stored in a
+@@ -56,14 +55,11 @@ an ordinary file with
+ .B \-F
+ Specifies that we want to continue even if the superblock magic is not
+ correct.  For use in
+-.BR xfs_check
+-and
+ .BR xfs_metadump .
+ .TP
+ .B \-i
+ Allows execution on a mounted filesystem, provided it is mounted read-only.
+-Useful for shell scripts such as
+-.BR xfs_check (8),
++Useful for shell scripts
+ which must only operate on filesystems in a guaranteed consistent state
+ (either unmounted or mounted read-only). These semantics are slightly
+ different to that of the
+@@ -204,9 +200,7 @@ command can be given, presumably with different arguments than the previous one.
+ Get block usage and check filesystem consistency.
+ The information is saved for use by a subsequent
+ .BR blockuse ", " ncheck ", or " blocktrash
+-command. See
+-.BR xfs_check (8)
+-for more information.
++command.
+ .RS 1.0i
+ .TP 0.4i
+ .B \-b
+@@ -244,7 +238,7 @@ Trashing occurs to randomly selected bits in the chosen blocks.
+ This command is available only in debugging versions of
+ .BR xfs_db .
+ It is useful for testing
+-.BR xfs_repair "(8) and " xfs_check (8).
++.BR xfs_repair "(8).
+ .RS 1.0i
+ .TP 0.4i
+ .BR \-0 " | " -1 " | " -2 " | " -3
+@@ -1856,12 +1850,60 @@ and printable ASCII chars.
+ Many messages can come from the
+ .B check
+ .RB ( blockget )
+-command; these are documented in
+-.BR xfs_check (8).
++command.
++If the filesystem is completely corrupt, a core dump might
++be produced instead of the message
++.RS
++.I device
++.B is not a valid filesystem
++.RE
++.PP
++If the filesystem is very large (has many files) then
++.B check
++might run out of memory. In this case the message
++.RS
++.B out of memory
++.RE
++is printed.
++.PP
++The following is a description of the most likely problems and the associated
++messages.
++Most of the diagnostics produced are only meaningful with an understanding
++of the structure of the filesystem.
++.TP
++.BI "agf_freeblks " n ", counted " m " in ag " a
++The freeblocks count in the allocation group header for allocation group
++.I a
++doesn't match the number of blocks counted free.
++.TP
++.BI "agf_longest " n ", counted " m " in ag " a
++The longest free extent in the allocation group header for allocation group
++.I a
++doesn't match the longest free extent found in the allocation group.
++.TP
++.BI "agi_count " n ", counted " m " in ag " a
++The allocated inode count in the allocation group header for allocation group
++.I a
++doesn't match the number of inodes counted in the allocation group.
++.TP
++.BI "agi_freecount " n ", counted " m " in ag " a
++The free inode count in the allocation group header for allocation group
++.I a
++doesn't match the number of inodes counted free in the allocation group.
++.TP
++.BI "block " a/b " expected inum 0 got " i
++The block number is specified as a pair
++(allocation group number, block in the allocation group).
++The block is used multiple times (shared), between multiple inodes.
++This message usually follows a message of the next type.
++.TP
++.BI "block " a/b " expected type unknown got " y
++The block is used multiple times (shared).
++.TP
++.BI "block " a/b " type unknown not expected
+ .SH SEE ALSO
+ .BR mkfs.xfs (8),
+ .BR xfs_admin (8),
+-.BR xfs_check (8),
+ .BR xfs_copy (8),
+ .BR xfs_logprint (8),
+ .BR xfs_metadump (8),
+diff --git a/man/man8/xfs_mdrestore.8 b/man/man8/xfs_mdrestore.8
+index 51297c4..0957d81 100644
+--- a/man/man8/xfs_mdrestore.8
++++ b/man/man8/xfs_mdrestore.8
+@@ -48,7 +48,6 @@ returns an exit code of 0 if all the metadata is successfully restored or
+ .SH SEE ALSO
+ .BR xfs_metadump (8),
+ .BR xfs_repair (8),
+-.BR xfs_check (8),
+ .BR xfs (5)
+ .SH BUGS
+ Email bug reports to
+diff --git a/man/man8/xfs_ncheck.8 b/man/man8/xfs_ncheck.8
+index 4099772..5ae72b2 100644
+--- a/man/man8/xfs_ncheck.8
++++ b/man/man8/xfs_ncheck.8
+@@ -63,13 +63,12 @@ May be given multiple times to select multiple inode numbers.
+ Prints the version number and exits.
+ .PP
+ If the filesystem is seriously corrupted, or very busy and looks
+-like it is corrupt, a message of the form that would be generated by
+-.BR xfs_check (8)
+-may appear.
++like it is corrupt, a message of the form that would be generated by the
++.BR xfs_db (8)
++"check" command may appear.
+ .PP
+ .B xfs_ncheck
+ is only useful with XFS filesystems.
+ .SH SEE ALSO
+ .BR mkfs.xfs (8),
+-.BR xfs_check (8),
+ .BR xfs (5).
+diff --git a/man/man8/xfs_repair.8 b/man/man8/xfs_repair.8
+index b7c2d8c..0394c50 100644
+--- a/man/man8/xfs_repair.8
++++ b/man/man8/xfs_repair.8
+@@ -548,6 +548,5 @@ fixed and/or improved.
+ .BR mkfs.xfs (8),
+ .BR umount (8),
+ .BR xfs_admin (8),
+-.BR xfs_check (8),
+ .BR xfs_metadump (8),
+ .BR xfs (5).
+diff --git a/mkfs/proto.c b/mkfs/proto.c
+index 5a47e27..72068f0 100644
+--- a/mkfs/proto.c
++++ b/mkfs/proto.c
+@@ -197,7 +197,6 @@ rsvfile(
+       tp = libxfs_trans_alloc(mp, 0);
+       libxfs_trans_ijoin(tp, ip, 0);
+-      libxfs_trans_ihold(tp, ip);
+       ip->i_d.di_mode &= ~S_ISUID;
+@@ -464,7 +463,6 @@ parseproto(
+               libxfs_trans_ijoin(tp, pip, 0);
+               xname.type = XFS_DIR3_FT_REG_FILE;
+               newdirent(mp, tp, pip, &xname, ip->i_ino, &first, &flist);
+-              libxfs_trans_ihold(tp, pip);
+               break;
+       case IF_RESERVED:                       /* pre-allocated space only */
+@@ -481,7 +479,6 @@ parseproto(
+               xname.type = XFS_DIR3_FT_REG_FILE;
+               newdirent(mp, tp, pip, &xname, ip->i_ino, &first, &flist);
+-              libxfs_trans_ihold(tp, pip);
+               libxfs_trans_log_inode(tp, ip, flags);
+               error = libxfs_bmap_finish(&tp, &flist, &committed);
+@@ -489,6 +486,7 @@ parseproto(
+                       fail(_("Pre-allocated file creation failed"), error);
+               libxfs_trans_commit(tp, 0);
+               rsvfile(mp, ip, llen);
++              IRELE(ip);
+               return;
+       case IF_BLOCK:
+@@ -503,7 +501,6 @@ parseproto(
+               libxfs_trans_ijoin(tp, pip, 0);
+               xname.type = XFS_DIR3_FT_BLKDEV;
+               newdirent(mp, tp, pip, &xname, ip->i_ino, &first, &flist);
+-              libxfs_trans_ihold(tp, pip);
+               flags |= XFS_ILOG_DEV;
+               break;
+@@ -518,7 +515,6 @@ parseproto(
+               libxfs_trans_ijoin(tp, pip, 0);
+               xname.type = XFS_DIR3_FT_CHRDEV;
+               newdirent(mp, tp, pip, &xname, ip->i_ino, &first, &flist);
+-              libxfs_trans_ihold(tp, pip);
+               flags |= XFS_ILOG_DEV;
+               break;
+@@ -531,7 +527,6 @@ parseproto(
+               libxfs_trans_ijoin(tp, pip, 0);
+               xname.type = XFS_DIR3_FT_FIFO;
+               newdirent(mp, tp, pip, &xname, ip->i_ino, &first, &flist);
+-              libxfs_trans_ihold(tp, pip);
+               break;
+       case IF_SYMLINK:
+               buf = getstr(pp);
+@@ -545,7 +540,6 @@ parseproto(
+               libxfs_trans_ijoin(tp, pip, 0);
+               xname.type = XFS_DIR3_FT_SYMLINK;
+               newdirent(mp, tp, pip, &xname, ip->i_ino, &first, &flist);
+-              libxfs_trans_ihold(tp, pip);
+               break;
+       case IF_DIRECTORY:
+               getres(tp, 0);
+@@ -565,7 +559,6 @@ parseproto(
+                       newdirent(mp, tp, pip, &xname, ip->i_ino,
+                                 &first, &flist);
+                       pip->i_d.di_nlink++;
+-                      libxfs_trans_ihold(tp, pip);
+                       libxfs_trans_log_inode(tp, pip, XFS_ILOG_CORE);
+               }
+               newdirectory(mp, tp, ip, pip);
+@@ -573,7 +566,6 @@ parseproto(
+               error = libxfs_bmap_finish(&tp, &flist, &committed);
+               if (error)
+                       fail(_("Directory creation failed"), error);
+-              libxfs_trans_ihold(tp, ip);
+               libxfs_trans_commit(tp, 0);
+               /*
+                * RT initialization.  Do this here to ensure that
+@@ -590,7 +582,7 @@ parseproto(
+                               break;
+                       parseproto(mp, ip, fsxp, pp, name);
+               }
+-              libxfs_iput(ip, 0);
++              IRELE(ip);
+               return;
+       default:
+               ASSERT(0);
+@@ -603,6 +595,7 @@ parseproto(
+                       error);
+       }
+       libxfs_trans_commit(tp, 0);
++      IRELE(ip);
+ }
+ void
+@@ -665,7 +658,6 @@ rtinit(
+       *(__uint64_t *)&rbmip->i_d.di_atime = 0;
+       libxfs_trans_log_inode(tp, rbmip, XFS_ILOG_CORE);
+       libxfs_mod_sb(tp, XFS_SB_RBMINO);
+-      libxfs_trans_ihold(tp, rbmip);
+       mp->m_rbmip = rbmip;
+       error = libxfs_inode_alloc(&tp, NULL, S_IFREG, 1, 0,
+                                       &creds, &fsxattrs, &rsumip);
+@@ -676,7 +668,6 @@ rtinit(
+       rsumip->i_d.di_size = mp->m_rsumsize;
+       libxfs_trans_log_inode(tp, rsumip, XFS_ILOG_CORE);
+       libxfs_mod_sb(tp, XFS_SB_RSUMINO);
+-      libxfs_trans_ihold(tp, rsumip);
+       libxfs_trans_commit(tp, 0);
+       mp->m_rsumip = rsumip;
+       /*
+@@ -689,7 +680,6 @@ rtinit(
+               res_failed(i);
+       libxfs_trans_ijoin(tp, rbmip, 0);
+-      libxfs_trans_ihold(tp, rbmip);
+       bno = 0;
+       xfs_bmap_init(&flist, &first);
+       while (bno < mp->m_sb.sb_rbmblocks) {
+@@ -726,7 +716,6 @@ rtinit(
+       if (i)
+               res_failed(i);
+       libxfs_trans_ijoin(tp, rsumip, 0);
+-      libxfs_trans_ihold(tp, rsumip);
+       bno = 0;
+       xfs_bmap_init(&flist, &first);
+       while (bno < nsumblocks) {
+@@ -762,7 +751,6 @@ rtinit(
+               if (i)
+                       res_failed(i);
+               libxfs_trans_ijoin(tp, rbmip, 0);
+-              libxfs_trans_ihold(tp, rbmip);
+               xfs_bmap_init(&flist, &first);
+               ebno = XFS_RTMIN(mp->m_sb.sb_rextents,
+                       bno + NBBY * mp->m_sb.sb_blocksize);
+diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
+index 37c05a9..c85258a 100644
+--- a/mkfs/xfs_mkfs.c
++++ b/mkfs/xfs_mkfs.c
+@@ -183,6 +183,8 @@ char       *sopts[] = {
+ char  *mopts[] = {
+ #define       M_CRC           0
+       "crc",
++#define M_FINOBT      1
++      "finobt",
+       NULL
+ };
+@@ -455,11 +457,30 @@ static void get_topology(
+       int                     force_overwrite)
+ {
+       if (!xi->disfile) {
+-              const char *dfile = xi->volname ? xi->volname : xi->dname;
++              char *dfile = xi->volname ? xi->volname : xi->dname;
++              struct stat statbuf;
+-              blkid_get_topology(dfile, &ft->dsunit, &ft->dswidth,
+-                                 &ft->lsectorsize, &ft->psectorsize,
+-                                 force_overwrite);
++              /*
++               * If our target is a regular file, and xi->disfile isn't
++               * set (i.e. no "-d file" invocation), use platform_findsizes
++               * to try to obtain the underlying filesystem's requirements
++               * for direct IO; we'll set our sector size to that if possible.
++               */
++              if (!stat(dfile, &statbuf) && S_ISREG(statbuf.st_mode)) {
++                      int fd;
++                      long long dummy;
++
++                      fd = open(dfile, O_RDONLY);
++                      if (fd >= 0) {
++                              platform_findsizes(dfile, fd, &dummy,
++                                                 &ft->lsectorsize);
++                              close(fd);
++                      }
++              } else {
++                      blkid_get_topology(dfile, &ft->dsunit, &ft->dswidth,
++                                         &ft->lsectorsize, &ft->psectorsize,
++                                         force_overwrite);
++              }
+       }
+       if (xi->rtname && !xi->risfile) {
+@@ -962,6 +983,7 @@ main(
+       struct fs_topology      ft;
+       int                     lazy_sb_counters;
+       int                     crcs_enabled;
++      int                     finobt;
+       progname = basename(argv[0]);
+       setlocale(LC_ALL, "");
+@@ -995,6 +1017,7 @@ main(
+       worst_freelist = 0;
+       lazy_sb_counters = 1;
+       crcs_enabled = 0;
++      finobt = 0;
+       memset(&fsx, 0, sizeof(fsx));
+       memset(&xi, 0, sizeof(xi));
+@@ -1486,6 +1509,14 @@ _("cannot specify both crc and ftype\n"));
+                                               usage();
+                                       }
+                                       break;
++                              case M_FINOBT:
++                                      if (!value || *value == '\0')
++                                              reqval('m', mopts, M_CRC);
++                                      c = atoi(value);
++                                      if (c < 0 || c > 1)
++                                              illegal(value, "m finobt");
++                                      finobt = c;
++                                      break;
+                               default:
+                                       unknown('m', value);
+                               }
+@@ -1827,6 +1858,16 @@ _("32 bit Project IDs always enabled on CRC enabled filesytems\n"));
+               }
+       }
++      /*
++       * The kernel doesn't currently support crc=0,finobt=1 filesystems.
++       * Catch it here, disable finobt and warn the user.
++       */
++      if (finobt && !crcs_enabled) {
++              fprintf(stderr,
++_("warning: finobt not supported without CRC support, disabled.\n"));
++              finobt = 0;
++      }
++
+       if (nsflag || nlflag) {
+               if (dirblocksize < blocksize ||
+                                       dirblocksize > XFS_MAX_BLOCKSIZE) {
+@@ -2413,6 +2454,30 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
+       mp->m_blkbb_log = sbp->sb_blocklog - BBSHIFT;
+       mp->m_sectbb_log = sbp->sb_sectlog - BBSHIFT;
++      /*
++       * sb_versionnum and finobt flags must be set before we use
++       * XFS_PREALLOC_BLOCKS().
++       */
++      sbp->sb_features2 = XFS_SB_VERSION2_MKFS(crcs_enabled, lazy_sb_counters,
++                                      attrversion == 2, !projid16bit, 0,
++                                      (!crcs_enabled && dirftype));
++      sbp->sb_versionnum = XFS_SB_VERSION_MKFS(crcs_enabled, iaflag,
++                                      dsunit != 0,
++                                      logversion == 2, attrversion == 1,
++                                      (sectorsize != BBSIZE ||
++                                                      lsectorsize != BBSIZE),
++                                      nci, sbp->sb_features2 != 0);
++      /*
++       * Due to a structure alignment issue, sb_features2 ended up in one
++       * of two locations, the second "incorrect" location represented by
++       * the sb_bad_features2 field. To avoid older kernels mounting
++       * filesystems they shouldn't, set both field to the same value.
++       */
++      sbp->sb_bad_features2 = sbp->sb_features2;
++
++      if (finobt)
++              sbp->sb_features_ro_compat = XFS_SB_FEAT_RO_COMPAT_FINOBT;
++
+       if (loginternal) {
+               /*
+                * Readjust the log size to fit within an AG if it was sized
+@@ -2475,7 +2540,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
+               printf(_(
+                  "meta-data=%-22s isize=%-6d agcount=%lld, agsize=%lld blks\n"
+                  "         =%-22s sectsz=%-5u attr=%u, projid32bit=%u\n"
+-                 "         =%-22s crc=%u\n"
++                 "         =%-22s crc=%-8u finobt=%u\n"
+                  "data     =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n"
+                  "         =%-22s sunit=%-6u swidth=%u blks\n"
+                  "naming   =version %-14u bsize=%-6u ascii-ci=%d ftype=%d\n"
+@@ -2484,7 +2549,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
+                  "realtime =%-22s extsz=%-6d blocks=%lld, rtextents=%lld\n"),
+                       dfile, isize, (long long)agcount, (long long)agsize,
+                       "", sectorsize, attrversion, !projid16bit,
+-                      "", crcs_enabled,
++                      "", crcs_enabled, finobt,
+                       "", blocksize, (long long)dblocks, imaxpct,
+                       "", dsunit, dswidth,
+                       dirversion, dirblocksize, nci, dirftype,
+@@ -2553,23 +2618,6 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
+               sbp->sb_logsectsize = 0;
+       }
+-      sbp->sb_features2 = XFS_SB_VERSION2_MKFS(crcs_enabled, lazy_sb_counters,
+-                                 attrversion == 2, !projid16bit, 0,
+-                                 (!crcs_enabled && dirftype));
+-      sbp->sb_versionnum = XFS_SB_VERSION_MKFS(crcs_enabled, iaflag,
+-                                      dsunit != 0,
+-                                      logversion == 2, attrversion == 1,
+-                                      (sectorsize != BBSIZE ||
+-                                                      lsectorsize != BBSIZE),
+-                                      nci, sbp->sb_features2 != 0);
+-      /*
+-       * Due to a structure alignment issue, sb_features2 ended up in one
+-       * of two locations, the second "incorrect" location represented by
+-       * the sb_bad_features2 field. To avoid older kernels mounting
+-       * filesystems they shouldn't, set both field to the same value.
+-       */
+-      sbp->sb_bad_features2 = sbp->sb_features2;
+-
+       if (force_overwrite)
+               zero_old_xfs_structures(&xi, sbp);
+@@ -2726,6 +2774,10 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
+               agi->agi_count = 0;
+               agi->agi_root = cpu_to_be32(XFS_IBT_BLOCK(mp));
+               agi->agi_level = cpu_to_be32(1);
++              if (finobt) {
++                      agi->agi_free_root = cpu_to_be32(XFS_FIBT_BLOCK(mp));
++                      agi->agi_free_level = cpu_to_be32(1);
++              }
+               agi->agi_freecount = 0;
+               agi->agi_newino = cpu_to_be32(NULLAGINO);
+               agi->agi_dirino = cpu_to_be32(NULLAGINO);
+@@ -2851,6 +2903,26 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
+                       xfs_btree_init_block(mp, buf, XFS_IBT_MAGIC, 0, 0,
+                                               agno, 0);
+               libxfs_writebuf(buf, LIBXFS_EXIT_ON_FAILURE);
++
++              /*
++               * Free INO btree root block
++               */
++              if (!finobt)
++                      continue;
++
++              buf = libxfs_getbuf(mp->m_ddev_targp,
++                              XFS_AGB_TO_DADDR(mp, agno, XFS_FIBT_BLOCK(mp)),
++                              bsize);
++              buf->b_ops = &xfs_inobt_buf_ops;
++              block = XFS_BUF_TO_BLOCK(buf);
++              memset(block, 0, blocksize);
++              if (xfs_sb_version_hascrc(&mp->m_sb))
++                      xfs_btree_init_block(mp, buf, XFS_FIBT_CRC_MAGIC, 0, 0,
++                                              agno, XFS_BTREE_CRC_BLOCKS);
++              else
++                      xfs_btree_init_block(mp, buf, XFS_FIBT_MAGIC, 0, 0,
++                                              agno, 0);
++              libxfs_writebuf(buf, LIBXFS_EXIT_ON_FAILURE);
+       }
+       /*
+@@ -3087,7 +3159,7 @@ usage( void )
+ {
+       fprintf(stderr, _("Usage: %s\n\
+ /* blocksize */               [-b log=n|size=num]\n\
+-/* metadata */                [-m crc=[0|1]\n\
++/* metadata */                [-m crc=0|1,finobt=0|1]\n\
+ /* data subvol */     [-d agcount=n,agsize=n,file,name=xxx,size=num,\n\
+                           (sunit=value,swidth=value|su=num,sw=num|noalign),\n\
+                           sectlog=n|sectsize=num\n\
+diff --git a/po/pl.po b/po/pl.po
+index ebd1884..80a09a8 100644
+--- a/po/pl.po
++++ b/po/pl.po
+@@ -1,13 +1,13 @@
+ # Polish translation for xfsprogs.
+ # This file is distributed under the same license as the xfsprogs package.
+-# Jakub Bogusz <qboosh@pld-linux.org>, 2006-2012.
++# Jakub Bogusz <qboosh@pld-linux.org>, 2006-2014.
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: xfsprogs 3.1.8\n"
++"Project-Id-Version: xfsprogs 3.2.0\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2012-03-04 06:24+0100\n"
+-"PO-Revision-Date: 2012-03-04 07:30+0100\n"
++"POT-Creation-Date: 2014-05-21 18:34+0200\n"
++"PO-Revision-Date: 2014-05-21 18:41+0200\n"
+ "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
+ "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+ "Language: pl\n"
+@@ -15,6611 +15,6890 @@ msgstr ""
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-#: .././rtcp/xfs_rtcp.c:30
++#: .././copy/xfs_copy.c:102
+ #, c-format
+-msgid "%s [-e extsize] [-p] source target\n"
+-msgstr "%s [-e rozm_fragmentu] [-p] źródło cel\n"
++msgid "Check logfile \"%s\" for more details\n"
++msgstr "Więcej szczegółów w pliku logu \"%s\"\n"
+-#: .././rtcp/xfs_rtcp.c:55 .././repair/xfs_repair.c:317 .././quota/init.c:131
+-#: .././mkfs/xfs_mkfs.c:1623 .././logprint/logprint.c:196 .././io/init.c:183
+-#: .././growfs/xfs_growfs.c:182 .././fsr/xfs_fsr.c:302
+-#: .././estimate/xfs_estimate.c:141 .././db/init.c:93 .././copy/xfs_copy.c:543
++#: .././copy/xfs_copy.c:108
+ #, c-format
+-msgid "%s version %s\n"
+-msgstr "%s wersja %s\n"
++msgid "%s:  could not write to logfile \"%s\".\n"
++msgstr "%s: nie udało się zapisać pliku logu \"%s\".\n"
+-#: .././rtcp/xfs_rtcp.c:69
++#: .././copy/xfs_copy.c:111
+ #, c-format
+-msgid "%s: must specify files to copy\n"
+-msgstr "%s: trzeba podać pliki do skopiowania\n"
++msgid "Aborting XFS copy -- logfile error -- reason: %s\n"
++msgstr "Przerwano XFS copy - błąd pliku logu - przyczyna: %s\n"
+-#: .././rtcp/xfs_rtcp.c:84
+-#, c-format
+-msgid "%s: stat64 of %s failed\n"
+-msgstr "%s: stat64 na %s nie powiodło się\n"
++#: .././copy/xfs_copy.c:126 .././copy/xfs_copy.c:286 .././copy/xfs_copy.c:566
++#: .././copy/xfs_copy.c:573
++msgid "Aborting XFS copy - reason"
++msgstr "Przerwano XFS copy - przyczyna"
+-#: .././rtcp/xfs_rtcp.c:91
+-#, c-format
+-msgid "%s: final argument is not directory\n"
+-msgstr "%s: ostatni argument nie jest katalogiem\n"
++#: .././copy/xfs_copy.c:140
++msgid "THE FOLLOWING COPIES FAILED TO COMPLETE\n"
++msgstr "NASTĘPUJĄCYCH KOPII NIE UDAŁO SIĘ UKOŃCZYĆ\n"
+-#: .././rtcp/xfs_rtcp.c:138
+-#, c-format
+-msgid "%s: failed stat64 on %s: %s\n"
+-msgstr "%s: nie udało się wykonać stat64 na %s: %s\n"
++#: .././copy/xfs_copy.c:144
++msgid "write error"
++msgstr "błąd zapisu"
+-#: .././rtcp/xfs_rtcp.c:159
+-#, c-format
+-msgid "%s: %s filesystem has no realtime partition\n"
+-msgstr "%s: system plików %s nie ma partycji realtime\n"
++#: .././copy/xfs_copy.c:146
++msgid "lseek64 error"
++msgstr "błąd lseek64"
+-#: .././rtcp/xfs_rtcp.c:180 .././rtcp/xfs_rtcp.c:208
++#: .././copy/xfs_copy.c:147
+ #, c-format
+-msgid "%s: open of %s failed: %s\n"
+-msgstr "%s: otwarcie %s nie powiodło się: %s\n"
++msgid " at offset %lld\n"
++msgstr " pod offsetem %lld\n"
+-#: .././rtcp/xfs_rtcp.c:197
++#: .././copy/xfs_copy.c:151
+ #, c-format
+-msgid "%s: set attributes on %s failed: %s\n"
+-msgstr "%s: ustawienie atrybutów dla %s nie powiodło się: %s\n"
++msgid "All copies completed.\n"
++msgstr "Wszystkie kopie ukończone.\n"
+-#: .././rtcp/xfs_rtcp.c:215
++#: .././copy/xfs_copy.c:154
+ #, c-format
+-msgid "%s: get attributes of %s failed: %s\n"
+-msgstr "%s: pobranie atrybutów %s nie powiodło się: %s\n"
++msgid "See \"%s\" for more details.\n"
++msgstr "Więcej szczegółów w \"%s\".\n"
+-#: .././rtcp/xfs_rtcp.c:225 .././rtcp/xfs_rtcp.c:260
++#: .././copy/xfs_copy.c:255
+ #, c-format
+-msgid "%s: %s is not a realtime file.\n"
+-msgstr "%s: %s nie jest plikiem realtime.\n"
++msgid "%s:  write error on target %d \"%s\" at offset %lld\n"
++msgstr "%s: błąd zapisu przy celu %d \"%s\" pod offsetem %lld\n"
+-#: .././rtcp/xfs_rtcp.c:234
++#: .././copy/xfs_copy.c:260
+ #, c-format
+-msgid "%s: %s file extent size is %d, instead of %d.\n"
+-msgstr "%s: plik %s ma rozmiar ekstentu %d zamiast %d.\n"
++msgid "%s:  lseek64 error on target %d \"%s\" at offset %lld\n"
++msgstr "%s: błąd lseek64 przy celu %d \"%s\" pod offsetem %lld\n"
+-#: .././rtcp/xfs_rtcp.c:246 .././rtcp/xfs_rtcp.c:269
++#: .././copy/xfs_copy.c:266
+ #, c-format
+-msgid "%s: open of %s source failed: %s\n"
+-msgstr "%s: otwarcie źródła %s nie powiodło się: %s\n"
++msgid "Aborting target %d - reason"
++msgstr "Przerywano zapis celu %d - przyczyna"
+-#: .././rtcp/xfs_rtcp.c:283
+-#, c-format
+-msgid "%s: couldn't get direct I/O information: %s\n"
+-msgstr "%s: nie udało się uzyskać informacji o bezpośrednim we/wy: %s\n"
++#: .././copy/xfs_copy.c:270
++msgid "Aborting XFS copy - no more targets.\n"
++msgstr "Przerwano XFS copy - nie ma więcej celów.\n"
+-#: .././rtcp/xfs_rtcp.c:293
++#: .././copy/xfs_copy.c:281
+ #, c-format
+-msgid "%s: extent size %d not a multiple of %d.\n"
+-msgstr "%s: rozmiar ekstentu %d nie jest wielokrotnością %d.\n"
++msgid "%s:  thread %d died unexpectedly, target \"%s\" incomplete\n"
++msgstr "%s: wątek %d zmarł nieoczekiwanie, cel \"%s\" niekompletny\n"
+-#: .././rtcp/xfs_rtcp.c:307
++#: .././copy/xfs_copy.c:283
+ #, c-format
+-msgid "The size of %s is not a multiple of %d.\n"
+-msgstr "Rozmiar %s nie jest wielokrotnością %d.\n"
++msgid "%s:  offset was probably %lld\n"
++msgstr "%s: offset prawdopodobnie %lld\n"
+-#: .././rtcp/xfs_rtcp.c:310
++#: .././copy/xfs_copy.c:294
+ #, c-format
+-msgid "%s will be padded to %lld bytes.\n"
+-msgstr "%s: zostanie dopełniony do %lld bajtów.\n"
++msgid "%s: Unknown child died (should never happen!)\n"
++msgstr "%s: Nieznany potomek zmarł (nie powinno się zdarzyć!)\n"
+-#: .././rtcp/xfs_rtcp.c:316
++#: .././copy/xfs_copy.c:304
+ #, c-format
+-msgid "Use the -p option to pad %s to a size which is a multiple of %d bytes.\n"
+-msgstr "Można użyć opcji -p do dopełnienia %s do rozmiaru będącego wielokrotnością %d bajtów.\n"
++msgid "Usage: %s [-bdV] [-L logfile] source target [target ...]\n"
++msgstr "Składnia: %s [-bdV] [-L plik_logu] źródło cel [cel ...]\n"
+-#: .././rtcp/xfs_rtcp.c:358
++#: .././copy/xfs_copy.c:386
+ #, c-format
+-msgid "%s: write error: %s\n"
+-msgstr "%s: błąd zapisu: %s\n"
++msgid "%s:  lseek64 failure at offset %lld\n"
++msgstr "%s: niepowodzenie lseek64 pod offsetem %lld\n"
+-#: .././rtcp/xfs_rtcp.c:386
++#: .././copy/xfs_copy.c:401
+ #, c-format
+-msgid "%s: could not open %s: %s\n"
+-msgstr "%s: nie udało się otworzyć %s: %s\n"
++msgid "assert error:  buf->length = %d, buf->size = %d\n"
++msgstr "błąd zapewnienia: buf->length = %d, buf->size = %d\n"
+-#: .././repair/xfs_repair.c:81
++#: .././copy/xfs_copy.c:408
+ #, c-format
+-msgid ""
+-"Usage: %s [options] device\n"
+-"\n"
+-"Options:\n"
+-"  -f           The device is a file\n"
+-"  -L           Force log zeroing. Do this as a last resort.\n"
+-"  -l logdev    Specifies the device where the external log resides.\n"
+-"  -m maxmem    Maximum amount of memory to be used in megabytes.\n"
+-"  -n           No modify mode, just checks the filesystem for damage.\n"
+-"  -P           Disables prefetching.\n"
+-"  -r rtdev     Specifies the device where the realtime section resides.\n"
+-"  -v           Verbose output.\n"
+-"  -c subopts   Change filesystem parameters - use xfs_admin.\n"
+-"  -o subopts   Override default behaviour, refer to man page.\n"
+-"  -t interval  Reporting interval in minutes.\n"
+-"  -d           Repair dangerously.\n"
+-"  -V           Reports version and exits.\n"
+-msgstr ""
+-"Składnia: %s [opcje] urządzenie\n"
+-"\n"
+-"Opcje:\n"
+-"  -f           Urządzenie jest plikiem\n"
+-"  -L           Wymuszenie wyzerowania logu. Wykonywać tylko w ostateczności.\n"
+-"  -l urz_logu  Określenie urządzenia z zewnętrznym logiem.\n"
+-"  -m maks_pam  Maksymalna ilość pamięci do użycia w megabajtach.\n"
+-"  -n           Tryb bez modyfikacji, tylko sprawdzenie systemu plików.\n"
+-"  -P           Wyłączenie prefetch.\n"
+-"  -r urz_rt    Określenie urządzenia z sekcją realtime.\n"
+-"  -v           Szczegółowe wyjście.\n"
+-"  -c podopcje  Zmiana parametrów systemu plików przy użyciu xfs_admina.\n"
+-"  -o podopcje  Zmiana domyślnego zachowania, więcej na stronie manuala.\n"
+-"  -t czas      Okres informowania o postępach w minutach.\n"
+-"  -d           Naprawianie w sposób niebezpieczny.\n"
+-"  -V           Wypisanie informacji o wersji i zakończenie.\n"
+-
+-#: .././repair/xfs_repair.c:107
+-msgid "no error"
+-msgstr "brak błędu"
+-
+-#: .././repair/xfs_repair.c:108
+-msgid "bad magic number"
+-msgstr "błędna liczba magiczna"
+-
+-#: .././repair/xfs_repair.c:109
+-msgid "bad blocksize field"
+-msgstr "błędne pole blocksize"
+-
+-#: .././repair/xfs_repair.c:110
+-msgid "bad blocksize log field"
+-msgstr "błędne pole logu blocksize"
+-
+-#: .././repair/xfs_repair.c:111
+-msgid "bad or unsupported version"
+-msgstr "błędna lub nie obsługiwana wersja"
+-
+-#: .././repair/xfs_repair.c:113
+-msgid "filesystem mkfs-in-progress bit set"
+-msgstr "ustawiony bit mkfs-in-progress systemu plików"
++msgid "%s:  read failure at offset %lld\n"
++msgstr "%s: błąd odczytu pod offsetem %lld\n"
+-#: .././repair/xfs_repair.c:115
+-msgid "inconsistent filesystem geometry information"
+-msgstr "niespójne informacje o geometrii systemu plików"
++#: .././copy/xfs_copy.c:438
++msgid "ag header buffer invalid!\n"
++msgstr "błędny bufor nagłówka ag!\n"
+-#: .././repair/xfs_repair.c:117
+-msgid "bad inode size or inconsistent with number of inodes/block"
+-msgstr "błędny rozmiar i-węzła lub niespójność z liczbą i-węzłów/blok"
++#: .././copy/xfs_copy.c:546 .././db/init.c:94 .././estimate/xfs_estimate.c:144
++#: .././fsr/xfs_fsr.c:300 .././growfs/xfs_growfs.c:180 .././io/init.c:190
++#: .././logprint/logprint.c:203 .././mkfs/xfs_mkfs.c:1672
++#: .././quota/init.c:131 .././repair/xfs_repair.c:319 .././rtcp/xfs_rtcp.c:55
++#, c-format
++msgid "%s version %s\n"
++msgstr "%s wersja %s\n"
+-#: .././repair/xfs_repair.c:118
+-msgid "bad sector size"
+-msgstr "błędny rozmiar sektora"
++#: .././copy/xfs_copy.c:564
++#, c-format
++msgid "%s: couldn't open log file \"%s\"\n"
++msgstr "%s: nie udało się otworzyć pliku logu \"%s\"\n"
+-#: .././repair/xfs_repair.c:120
+-msgid "AGF geometry info conflicts with filesystem geometry"
+-msgstr "informacje o geometrii AGF są w konflikcie z geometrią systemu plików"
++#: .././copy/xfs_copy.c:571
++#, c-format
++msgid "%s: couldn't set up logfile stream\n"
++msgstr "%s: nie udało się ustanowić strumienia pliku logu\n"
+-#: .././repair/xfs_repair.c:122
+-msgid "AGI geometry info conflicts with filesystem geometry"
+-msgstr "informacje o geometrii AGI są w konflikcie z geometrią systemu plików"
++#: .././copy/xfs_copy.c:583
++msgid "Couldn't allocate target array\n"
++msgstr "Nie udało się przydzielić tablicy celów\n"
+-#: .././repair/xfs_repair.c:124
+-msgid "AG superblock geometry info conflicts with filesystem geometry"
+-msgstr "informacje o geometrii superbloku AG są w konflikcie z geometrią systemu plików"
++#: .././copy/xfs_copy.c:598
++#, c-format
++msgid "%s: couldn't register atexit function.\n"
++msgstr "%s: nie udało się zarejestrować funkcji atexit.\n"
+-#: .././repair/xfs_repair.c:125
+-msgid "attempted to perform I/O beyond EOF"
+-msgstr "próbowano wykonać operację we/wy poza końcem pliku"
++#: .././copy/xfs_copy.c:607
++#, c-format
++msgid "%s:  couldn't open source \"%s\"\n"
++msgstr "%s: nie udało się otworzyć źródła \"%s\"\n"
+-#: .././repair/xfs_repair.c:127
+-msgid "inconsistent filesystem geometry in realtime filesystem component"
+-msgstr "niespójna geometria systemu plików w składniku realtime"
++#: .././copy/xfs_copy.c:613
++#, c-format
++msgid "%s:  couldn't stat source \"%s\"\n"
++msgstr "%s: nie udało się wykonać stat na źródle \"%s\"\n"
+-#: .././repair/xfs_repair.c:129
+-msgid "maximum indicated percentage of inodes > 100%"
+-msgstr "określono maksymalny procent i-węzłów > 100%"
++#: .././copy/xfs_copy.c:623
++#, c-format
++msgid "%s: Cannot set direct I/O flag on \"%s\".\n"
++msgstr "%s: Nie można ustawić flagi bezpośredniego we/wy na \"%s\".\n"
+-#: .././repair/xfs_repair.c:131
+-msgid "inconsistent inode alignment value"
+-msgstr "niespójna wartość wyrównania i-węzła"
++#: .././copy/xfs_copy.c:628
++#, c-format
++msgid "%s: xfsctl on file \"%s\" failed.\n"
++msgstr "%s: xfsctl na pliku \"%s\" nie powiodło się.\n"
+-#: .././repair/xfs_repair.c:133
+-msgid "not enough secondary superblocks with matching geometry"
+-msgstr "za mało zapasowych superbloków o pasującej geometrii"
++#: .././copy/xfs_copy.c:651
++#, c-format
++msgid "%s:  Warning -- a filesystem is mounted on the source device.\n"
++msgstr "%s: Uwaga - system plików jest podmontowany na urządzeniu źródłowym.\n"
+-#: .././repair/xfs_repair.c:135
+-msgid "bad stripe unit in superblock"
+-msgstr "błędna jednostka pasa w superbloku"
++#: .././copy/xfs_copy.c:654
++msgid "\t\tGenerated copies may be corrupt unless the source is\n"
++msgstr "\t\tWygenerowane kopie mogą być uszkodzone o ile źródło nie jest\n"
+-#: .././repair/xfs_repair.c:137
+-msgid "bad stripe width in superblock"
+-msgstr "błędna szerokość pasa w superbloku"
++#: .././copy/xfs_copy.c:656
++msgid "\t\tunmounted or mounted read-only.  Copy proceeding...\n"
++msgstr "\t\todmontowane lub podmontowane tylko do odczytu. Kopiowanie w trakcie...\n"
+-#: .././repair/xfs_repair.c:139
+-msgid "bad shared version number in superblock"
+-msgstr "błędny numer wersji współdzielenia w superbloku"
++#: .././copy/xfs_copy.c:673
++#, c-format
++msgid ""
++"%s: couldn't initialize XFS library\n"
++"%s: Aborting.\n"
++msgstr ""
++"%s: nie udało się zainicjować biblioteki XFS\n"
++"%s: Przerwano.\n"
+-#: .././repair/xfs_repair.c:144
++#: .././copy/xfs_copy.c:693
+ #, c-format
+-msgid "bad error code - %d\n"
+-msgstr "błędny kod błędu - %d\n"
++msgid "%s: Cannot yet copy V5 fs without '-d'\n"
++msgstr "%s: Nie można jeszcze kopiować systemu plików V5 bez '-d'\n"
+-#: .././repair/xfs_repair.c:152
++#: .././copy/xfs_copy.c:699
+ #, c-format
+-msgid "-%c %s option cannot have a value\n"
+-msgstr "opcja -%c %s nie przyjmuje wartości\n"
++msgid ""
++"%s: %s filesystem failed to initialize\n"
++"%s: Aborting.\n"
++msgstr ""
++"%s: Nie powiodła się inicjalizacja systemu plików %s\n"
++"%s: Przerwano.\n"
+-#: .././repair/xfs_repair.c:162 .././mkfs/xfs_mkfs.c:2801
++#: .././copy/xfs_copy.c:703
+ #, c-format
+-msgid "option respecified\n"
+-msgstr "ponownie podana opcja\n"
++msgid ""
++"%s %s filesystem failed to initialize\n"
++"%s: Aborting.\n"
++msgstr ""
++"%s: Nie powiodła się inicjalizacja systemu plików %s\n"
++"%s: Przerwano.\n"
+-#: .././repair/xfs_repair.c:169 .././mkfs/xfs_mkfs.c:2810
++#: .././copy/xfs_copy.c:707
+ #, c-format
+-msgid "unknown option -%c %s\n"
+-msgstr "nieznana opcja -%c %s\n"
+-
+-#: .././repair/xfs_repair.c:248
+-msgid "-o bhash option cannot be used with -m option\n"
+-msgstr "opcja -o bhash nie może być użyta wraz z opcją -m\n"
+-
+-#: .././repair/xfs_repair.c:300
+-msgid "-m option cannot be used with -o bhash option\n"
+-msgstr "opcja -m nie może być użyta wraz z opcją -o bhash\n"
++msgid ""
++"%s: %s has an external log.\n"
++"%s: Aborting.\n"
++msgstr ""
++"%s: %s ma zewnętrzny log.\n"
++"%s: Przerwano.\n"
+-#: .././repair/xfs_repair.c:342
++#: .././copy/xfs_copy.c:711
+ #, c-format
+ msgid ""
+-"\n"
+-"fatal error -- "
++"%s: %s has a real-time section.\n"
++"%s: Aborting.\n"
+ msgstr ""
+-"\n"
+-"błąd krytyczny - "
++"%s: %s ma sekcję real-time.\n"
++"%s: Przerwano.\n"
+-#: .././repair/xfs_repair.c:454
+-#, c-format
+-msgid "sb root inode value %<PRIu64> %sinconsistent with calculated value %u\n"
+-msgstr "wartość i-węzła głównego superbloku %<PRIu64> %sniespójna z obliczoną wartością %u\n"
++#: .././copy/xfs_copy.c:736
++msgid ""
++"Error:  filesystem block size is smaller than the disk sectorsize.\n"
++"Aborting XFS copy now.\n"
++msgstr ""
++"Błąd: rozmiar bloku systemu plików jest mniejszy niż rozmiar sektora dysku.\n"
++"Przerwano XFS copy.\n"
+-#: .././repair/xfs_repair.c:461
++#: .././copy/xfs_copy.c:757
+ #, c-format
+-msgid "resetting superblock root inode pointer to %u\n"
+-msgstr "przestawiono wskaźnik i-węzła głównego superbloku na %u\n"
++msgid "Creating file %s\n"
++msgstr "Tworzenie pliku %s\n"
+-#: .././repair/xfs_repair.c:465
++#: .././copy/xfs_copy.c:775
+ #, c-format
+-msgid "would reset superblock root inode pointer to %u\n"
+-msgstr "wskaźnik i-węzła głównego superbloku zostałby przestawiony na %u\n"
++msgid ""
++"%s:  a filesystem is mounted on target device \"%s\".\n"
++"%s cannot copy to mounted filesystems.  Aborting\n"
++msgstr ""
++"%s: na urządzeniu docelowym \"%s\" jest podmontowany system plików.\n"
++"%s nie może kopiować na podmontowane systemy plików. Przerwano.\n"
+-#: .././repair/xfs_repair.c:477
++#: .././copy/xfs_copy.c:786
+ #, c-format
+-msgid "sb realtime bitmap inode %<PRIu64> %sinconsistent with calculated value %u\n"
+-msgstr "i-węzeł bitmapy realtime superbloku %<PRIu64> %sniespójny z obliczoną wartością %u\n"
++msgid "%s:  couldn't open target \"%s\"\n"
++msgstr "%s: nie udało się otworzyć celu \"%s\"\n"
+-#: .././repair/xfs_repair.c:484
++#: .././copy/xfs_copy.c:796
+ #, c-format
+-msgid "resetting superblock realtime bitmap ino pointer to %u\n"
+-msgstr "przestawiono wskaźnik i-węzła bitmapy realtime superbloku na %u\n"
++msgid "%s:  cannot grow data section.\n"
++msgstr "%s: nie można powiększyć sekcji danych.\n"
+-#: .././repair/xfs_repair.c:488
++#: .././copy/xfs_copy.c:804
+ #, c-format
+-msgid "would reset superblock realtime bitmap ino pointer to %u\n"
+-msgstr "wskaźnik i-węzła bitmapy realtime superbloku zostałby przestawiony na %u\n"
++msgid "%s:  xfsctl on \"%s\" failed.\n"
++msgstr "%s: xfsctl na \"%s\" nie powiodło się.\n"
+-#: .././repair/xfs_repair.c:500
++#: .././copy/xfs_copy.c:823
+ #, c-format
+-msgid "sb realtime summary inode %<PRIu64> %sinconsistent with calculated value %u\n"
+-msgstr "i-węzeł opisu realtime superbloku %<PRIu64> %sniespójny z obliczoną wartością %u\n"
++msgid "%s:  failed to write last block\n"
++msgstr "%s: nie udało się zapisać ostatniego bloku\n"
+-#: .././repair/xfs_repair.c:507
++#: .././copy/xfs_copy.c:825
+ #, c-format
+-msgid "resetting superblock realtime summary ino pointer to %u\n"
+-msgstr "przestawiono wskaźnik i-węzła opisu realtime superbloku na %u\n"
++msgid "\tIs target \"%s\" too small?\n"
++msgstr "\tCzy cel \"%s\" jest zbyt mały?\n"
+-#: .././repair/xfs_repair.c:511
+-#, c-format
+-msgid "would reset superblock realtime summary ino pointer to %u\n"
+-msgstr "wskaźnik i-węzła opisu realtime superbloku zostałby przestawiony na %u\n"
++#: .././copy/xfs_copy.c:835
++msgid "Couldn't initialize global thread mask\n"
++msgstr "Nie udało się zainicjować globalnej maski wątków\n"
+-#: .././repair/xfs_repair.c:554
+-msgid ""
+-"Primary superblock would have been modified.\n"
+-"Cannot proceed further in no_modify mode.\n"
+-"Exiting now.\n"
+-msgstr ""
+-"Główny superblok zostałby zmodyfikowany.\n"
+-"Nie można kontynuować w trybie bez modyfikacji.\n"
+-"Zakończono.\n"
++#: .././copy/xfs_copy.c:842
++msgid "Error initializing wbuf 0\n"
++msgstr "Błąd inicjalizacji wbuf 0\n"
+-#: .././repair/xfs_repair.c:577
+-msgid ""
+-"Cannot get host filesystem geometry.\n"
+-"Repair may fail if there is a sector size mismatch between\n"
+-"the image and the host filesystem.\n"
+-msgstr ""
+-"Nie można pobrać geometrii systemu plików hosta.\n"
+-"Naprawienie może się nie powieść, jeśli istnieje niespójność rozmiaru\n"
+-"sektora między obrazem a systemem plików hosta.\n"
++#: .././copy/xfs_copy.c:850
++msgid "Error initializing btree buf 1\n"
++msgstr "Błąd inicjalizacji btree buf 1\n"
+-#: .././repair/xfs_repair.c:589
+-msgid ""
+-"Sector size on host filesystem larger than image sector size.\n"
+-"Cannot turn off direct IO, so exiting.\n"
+-msgstr ""
+-"Rozmiar sektora na systemie plików hosta większy niż rozmiar sektora obrazu.\n"
+-"Nie można wyłączyć bezpośredniego we/wy - zakończono działanie.\n"
++#: .././copy/xfs_copy.c:855
++msgid "Error creating first semaphore.\n"
++msgstr "Błąd tworzenia pierwszego semafora.\n"
+-#: .././repair/xfs_repair.c:599
+-#, c-format
+-msgid "%s: cannot repair this filesystem.  Sorry.\n"
+-msgstr "%s: niestety nie można naprawić tego systemu plików.\n"
++#: .././copy/xfs_copy.c:870
++msgid "Couldn't malloc space for thread args\n"
++msgstr "Nie udało się przydzielić miejsca na argumenty wątku\n"
+-#: .././repair/xfs_repair.c:624
++#: .././copy/xfs_copy.c:882
+ #, c-format
+-msgid "        - reporting progress in intervals of %s\n"
+-msgstr "        - informowanie o postępie w odstępach %s\n"
++msgid "Error creating thread mutex %d\n"
++msgstr "Błąd podczas tworzenia sekcji krytycznej %d wątku\n"
+-#: .././repair/xfs_repair.c:671
++#: .././copy/xfs_copy.c:899
+ #, c-format
+-msgid "        - max_mem = %lu, icount = %<PRIu64>, imem = %<PRIu64>, dblock = %<PRIu64>, dmem = %<PRIu64>\n"
+-msgstr "        - max_mem = %lu, icount = %<PRIu64>, imem = %<PRIu64>, dblock = %<PRIu64>, dmem = %<PRIu64>\n"
++msgid "Error creating thread for target %d\n"
++msgstr "Błąd podczas tworzenia wątku dla celu %d\n"
+-#: .././repair/xfs_repair.c:684
++#: .././copy/xfs_copy.c:953
+ #, c-format
+-msgid ""
+-"Required memory for repair is greater that the maximum specified\n"
+-"with the -m option. Please increase it to at least %lu.\n"
+-msgstr ""
+-"Pamięć wymagana do naprawy przekracza maksimum określone opcją -m.\n"
+-"Proszę ją zwiększyć do co najmniej %lu.\n"
++msgid "Error: current level %d >= btree levels %d\n"
++msgstr "Błąd: bieżący poziom %d >= poziomów b-drzewa %d\n"
+-#: .././repair/xfs_repair.c:689
++#: .././copy/xfs_copy.c:972
+ #, c-format
++msgid "Bad btree magic 0x%x\n"
++msgstr "Niewłaściwa liczba magiczna b-drzewa 0x%x\n"
++
++#: .././copy/xfs_copy.c:999
++msgid "WARNING:  source filesystem inconsistent.\n"
++msgstr "UWAGA: źródłowy system plików niespójny.\n"
++
++#: .././copy/xfs_copy.c:1001
++msgid "  A leaf btree rec isn't a leaf.  Aborting now.\n"
++msgstr " Liść rekordu b-drzewa nie jest liściem. Przerwano.\n"
++
++#: .././db/addr.c:35
++msgid "[field-expression]"
++msgstr "[wyrażenie-pól]"
++
++#: .././db/addr.c:36
++msgid "set current address"
++msgstr "ustawienie bieżącego adresu"
++
++#: .././db/addr.c:42
+ msgid ""
+-"Not enough RAM available for repair to enable prefetching.\n"
+-"This will be _slow_.\n"
+-"You need at least %luMB RAM to run with prefetching enabled.\n"
++"\n"
++" 'addr' uses the given field to set the filesystem address and type\n"
++"\n"
++" Examples:\n"
++"\n"
++" sb\n"
++" a rootino - set the type to inode and set position to the root inode\n"
++" a u.bmx[0].startblock (for inode with blockmap)\n"
++"\n"
+ msgstr ""
+-"Zbyt mało dostępnej pamięci RAM, żeby naprawiać z włączonym prefetch.\n"
+-"To będzie _wolne_.\n"
+-"Do włączenia prefetch potrzeba przynajmniej %luMB RAM.\n"
+-
+-#: .././repair/xfs_repair.c:707
+-#, c-format
+-msgid "        - block cache size set to %d entries\n"
+-msgstr "        - rozmiar bufora bloku ustawiony na %d wpisów\n"
++"\n"
++" 'addr' wykorzystuje podane pole do ustawienia adresu w systemie plików i typu\n"
++"\n"
++" Przykłady:\n"
++"\n"
++" sb\n"
++" a rootino - ustawienie typu na i-węzeł i pozycji na i-węzeł główny\n"
++" a u.bmx[0].startblock (dla i-węzła z mapą bloków)\n"
++"\n"
+-#: .././repair/xfs_repair.c:736
+-msgid "Found unsupported filesystem features.  Exiting now.\n"
+-msgstr "Znaleziono nie obsługiwane cechy systemu plików. Zakończono.\n"
++#: .././db/addr.c:72 .././db/attrset.c:86 .././db/attrset.c:189
++#: .././db/print.c:74 .././db/type.c:142 .././db/write.c:101
++msgid "no current type\n"
++msgstr "brak bieżącego typu\n"
+-#: .././repair/xfs_repair.c:754
++#: .././db/addr.c:82
+ #, c-format
+-msgid "No modify flag set, skipping phase 5\n"
+-msgstr "Ustawiono flagę braku modyfikacji, pominięto fazę 5\n"
+-
+-#: .././repair/xfs_repair.c:773
+-msgid "Inode allocation btrees are too corrupted, skipping phases 6 and 7\n"
+-msgstr "B-drzewa alokacji i-węzłów są zbyt uszkodzone, pominięto fazy 6 i 7\n"
++msgid "no fields for type %s\n"
++msgstr "brak pól dla typu %s\n"
+-#: .././repair/xfs_repair.c:779
+-msgid "Warning:  no quota inodes were found.  Quotas disabled.\n"
+-msgstr "Uwaga: nie znaleziono i-węzłów limitów (quot). Limity wyłączone.\n"
++#: .././db/addr.c:94
++msgid "array not allowed for addr command\n"
++msgstr "tablica nie jest dozwolona dla polecenia addr\n"
+-#: .././repair/xfs_repair.c:782
+-msgid "Warning:  no quota inodes were found.  Quotas would be disabled.\n"
+-msgstr "Uwaga: nie znaleziono i-węzłów limitów (quot). Limity zostałyby wyłączone.\n"
++#: .././db/addr.c:103
++#, c-format
++msgid "no next type for field %s\n"
++msgstr "brak następnego typu dla pola %s\n"
+-#: .././repair/xfs_repair.c:787
+-msgid "Warning:  quota inodes were cleared.  Quotas disabled.\n"
+-msgstr "Uwaga: i-węzły limitów (quot) były wyczyszczone. Limity wyłączone.\n"
++#: .././db/addr.c:110
++#, c-format
++msgid "no addr function for field %s (type %s)\n"
++msgstr "brak funkcji addr dla pola %s (typu %s)\n"
+-#: .././repair/xfs_repair.c:790
+-msgid "Warning:  quota inodes would be cleared.  Quotas would be disabled.\n"
+-msgstr "Uwaga: i-węzły limitów (quot) zostałyby wyczyszczone. Limity zostałyby wyłączone.\n"
++#: .././db/agf.c:35 .././db/agfl.c:36 .././db/agi.c:35 .././db/sb.c:42
++msgid "[agno]"
++msgstr "[agno]"
+-#: .././repair/xfs_repair.c:796
+-msgid ""
+-"Warning:  user quota information was cleared.\n"
+-"User quotas can not be enforced until limit information is recreated.\n"
+-msgstr ""
+-"Uwaga: informacje o limitach użytkowników były wyczyszczone.\n"
+-"Limity użytkowników nie mogą być wymuszone do czasu odtworzenia informacji.\n"
++#: .././db/agf.c:36
++msgid "set address to agf header"
++msgstr "ustawienie adresu na nagłówek agf"
+-#: .././repair/xfs_repair.c:800
++#: .././db/agf.c:82
+ msgid ""
+-"Warning:  user quota information would be cleared.\n"
+-"User quotas could not be enforced until limit information was recreated.\n"
++"\n"
++" set allocation group free block list\n"
++"\n"
++" Example:\n"
++"\n"
++" agf 2 - move location to AGF in 2nd filesystem allocation group\n"
++"\n"
++" Located in the second sector of each allocation group, the AGF\n"
++" contains the root of two different freespace btrees:\n"
++" The 'cnt' btree keeps track freespace indexed on section size.\n"
++" The 'bno' btree tracks sections of freespace indexed on block number.\n"
+ msgstr ""
+-"Uwaga: informacje o limitach użytkowników zostałyby wyczyszczone.\n"
+-"Limity użytkowników nie mogłyby być wymuszone do czasu odtworzenia informacji.\n"
++"\n"
++" ustawienie listy wolnych bloków grupy alokacji\n"
++"\n"
++" Przykład:\n"
++"\n"
++" agf 2 - zmiana pozycji na AGF w 2. grupie alokacji systemu plików\n"
++"\n"
++" Położony w drugim sektorze każdej grupy alokacji AGF zawiera korzeń\n"
++" dwóch różnych b-drzew wolnej przestrzeni:\n"
++" b-drzewo 'cnt' śledzi wolne miejsce indeksowane rozmiarem sekcji\n"
++" b-drzewo 'bno' śledzi sekcje wolnego miejsca indeksowane numerem bloku.\n"
+-#: .././repair/xfs_repair.c:808
+-msgid ""
+-"Warning:  group quota information was cleared.\n"
+-"Group quotas can not be enforced until limit information is recreated.\n"
+-msgstr ""
+-"Uwaga: informacje o limitach grup były wyczyszczone.\n"
+-"Limity grup nie mogą być wymuszone do czasu odtworzenia informacji.\n"
++#: .././db/agf.c:107 .././db/agfl.c:106 .././db/agi.c:92 .././db/sb.c:163
++#, c-format
++msgid "bad allocation group number %s\n"
++msgstr "błędny numer grupy alokacji %s\n"
+-#: .././repair/xfs_repair.c:812
+-msgid ""
+-"Warning:  group quota information would be cleared.\n"
+-"Group quotas could not be enforced until limit information was recreated.\n"
+-msgstr ""
+-"Uwaga: informacje o limitach grup zostałyby wyczyszczone.\n"
+-"Limity grup nie mogłyby być wymuszone do czasu odtworzenia informacji.\n"
++#: .././db/agfl.c:37
++msgid "set address to agfl block"
++msgstr "ustawienie adresu na blok agfl"
+-#: .././repair/xfs_repair.c:820
++#: .././db/agfl.c:79
+ msgid ""
+-"Warning:  project quota information was cleared.\n"
+-"Project quotas can not be enforced until limit information is recreated.\n"
++"\n"
++" set allocation group freelist\n"
++"\n"
++" Example:\n"
++"\n"
++" agfl 5\n"
++" Located in the fourth sector of each allocation group,\n"
++" the agfl freelist for internal btree space allocation is maintained\n"
++" for each allocation group.  This acts as a reserved pool of space\n"
++" separate from the general filesystem freespace (not used for user data).\n"
++"\n"
+ msgstr ""
+-"Uwaga: informacje o limitach projektów były wyczyszczone.\n"
+-"Limity projektów nie mogą być wymuszone do czasu odtworzenia informacji.\n"
++"\n"
++" ustawienie listy wolnego miejsca grupy alokacji\n"
++"\n"
++" Przykład:\n"
++"\n"
++" agfl 5\n"
++" Położona w 4. sektorze każdej grupy alokacji lista wolnego miejsca agfl\n"
++" służąca do wewnętrznego przydzielania miejsca dla b-drzew jest utrzymywana\n"
++" dla każdej grupy alokacji. Działa jako zarezerwowana pula miejsca oddzielona\n"
++" od ogólnego wolnego miejsca w systemie plików (nie używana dla danych\n"
++" użytkownika).\n"
++"\n"
++
++#: .././db/agi.c:36
++msgid "set address to agi header"
++msgstr "ustawienie adresu na nagłówek agi"
+-#: .././repair/xfs_repair.c:824
++#: .././db/agi.c:67
+ msgid ""
+-"Warning:  project quota information would be cleared.\n"
+-"Project quotas could not be enforced until limit information was recreated.\n"
++"\n"
++" set allocation group inode btree\n"
++"\n"
++" Example:\n"
++"\n"
++" agi 3 (set location to 3rd allocation group inode btree and type to 'agi')\n"
++"\n"
++" Located in the 3rd 512 byte block of each allocation group,\n"
++" the agi inode btree tracks all used/free inodes in the allocation group.\n"
++" Inodes are allocated in 16k 'chunks', each btree entry tracks a 'chunk'.\n"
++"\n"
+ msgstr ""
+-"Uwaga: informacje o limitach projektów zostałyby wyczyszczone.\n"
+-"Limity projektów nie mogłyby być wymuszone do czasu odtworzenia informacji.\n"
++"\n"
++" ustawienie b-drzewa i-węzła grupy alokacji\n"
++"\n"
++" Przykład:\n"
++"\n"
++" agi 3 (ustawienie położenia na b-drzewo i-węzła 3. grupy alokacji i typu na 'agi')\n"
++"\n"
++" Położone w 3. 512-bajtowym bloku każdej grupy alokacji, b-drzewo i-węzła agi\n"
++" śledzi wszystkie używane i wolne i-węzły w grupie alokacji.\n"
++" I-węzły są przydzielane w 16k porcjach (chunk), każdy wpis b-drzewa śledzi\n"
++" jedną.\n"
++"\n"
+-#: .././repair/xfs_repair.c:835
+-msgid "No modify flag set, skipping filesystem flush and exiting.\n"
+-msgstr "Flaga braku modyfikacji ustawiona, pominięto zrzucanie systemu plików, zakończono.\n"
++#: .././db/attr.c:556
++msgid "Unknown attribute buffer type!\n"
++msgstr "Nieznany typ bufora atrybutów!\n"
+-#: .././repair/xfs_repair.c:849 .././repair/phase5.c:1360
+-msgid "couldn't get superblock\n"
+-msgstr "nie udało się pobrać superbloku\n"
++#: .././db/attr.c:568
++msgid "Writing unknown attribute buffer type!\n"
++msgstr "Zapis nieznanego typu bufora atrybutów!\n"
+-#: .././repair/xfs_repair.c:854
+-msgid "Note - quota info will be regenerated on next quota mount.\n"
+-msgstr "Uwaga - informacje o limitach zostaną ponownie wygenerowane przy następnym montowaniu.\n"
++#: .././db/attrset.c:38
++msgid "[-r|-s|-p|-u] [-n] [-R|-C] [-v n] name"
++msgstr "[-r|-s|-p|-u] [-n] [-R|-C] [-v n] nazwa"
+-#: .././repair/xfs_repair.c:862
+-#, c-format
++#: .././db/attrset.c:39
++msgid "set the named attribute on the current inode"
++msgstr "ustawienie atrybutu o podanej nazwie w bieżącym i-węźle"
++
++#: .././db/attrset.c:42
++msgid "[-r|-s|-p|-u] [-n] name"
++msgstr "[-r|-s|-p|-u] [-n] nazwa"
++
++#: .././db/attrset.c:43
++msgid "remove the named attribute from the current inode"
++msgstr "usunięcie atrybutu o podanej nazwie z bieżącego i-węzła"
++
++#: .././db/attrset.c:49
+ msgid ""
+-"Note - stripe unit (%d) and width (%d) fields have been reset.\n"
+-"Please set with mount -o sunit=<value>,swidth=<value>\n"
++"\n"
++" The 'attr_set' and 'attr_remove' commands provide interfaces for debugging\n"
++" the extended attribute allocation and removal code.\n"
++" Both commands require an attribute name to be specified, and the attr_set\n"
++" command allows an optional value length (-v) to be provided as well.\n"
++" There are 4 namespace flags:\n"
++"  -r -- 'root'\n"
++"  -u -- 'user'\t\t(default)\n"
++"  -s -- 'secure'\n"
++"\n"
++" For attr_set, these options further define the type of set operation:\n"
++"  -C -- 'create'    - create attribute, fail if it already exists\n"
++"  -R -- 'replace'   - replace attribute, fail if it does not exist\n"
++" The backward compatibility mode 'noattr2' can be emulated (-n) also.\n"
++"\n"
+ msgstr ""
+-"Uwaga - pola jednostki pasa (%d) i szerokości pasa (%d) zostały przestawione.\n"
+-"Proszę ustawić przy użyciu mount -o sunit=<wartość>,swidth=<wartość>\n"
+-
+-#: .././repair/xfs_repair.c:885
+-msgid "done\n"
+-msgstr "gotowe\n"
++"\n"
++" Polecenia 'attr_set' i 'attr_remove' udostępniają interfejsy do diagnostyki\n"
++" kodu przydzielania i usuwania rozszerzonych atrybutów.\n"
++" Oba polecenia wymagają podania nazwy atrybutu, a polecenie attr_set\n"
++" pozwala dodatkowo podać opcjonalną długość wartości (-v).\n"
++" Są 4 flagi przestrzeni nazw:\n"
++"  -r - 'root'\n"
++"  -u - 'user'   (domyślna)\n"
++"  -s - 'secure'\n"
++"\n"
++" Dla attr_set poniższe opcje określają rodzaj operacji ustawiania:\n"
++"  -C - 'create'  - utworzenie atrybutu; nie powiedzie się, jeśli już istnieje\n"
++"  -R - 'replace' - zastąpienie atrybutu; nie powiedzie się, jeśli nie istnieje\n"
++" Możliwa jest także emulacja trybu kompatybilności wstecznej 'noattr2' (-n).\n"
++"\n"
+-#: .././repair/avl64.c:1032 .././repair/avl.c:1011
+-#, c-format
+-msgid "avl_insert: Warning! duplicate range [%llu,%llu]\n"
+-msgstr "avl_insert: Uwaga! powtórzony przedział [%llu,%llu]\n"
++#: .././db/attrset.c:90 .././db/attrset.c:193
++msgid "current type is not inode\n"
++msgstr "bieżący typ nie jest i-węzłem\n"
+-#: .././repair/avl64.c:1227 .././repair/avl.c:1206
++#: .././db/attrset.c:125
+ #, c-format
+-msgid "Command [fpdir] : "
+-msgstr "Polecenie [fpdir] : "
++msgid "bad attr_set valuelen %s\n"
++msgstr "błędna długość wartości %s dla attr_set\n"
+-#: .././repair/avl64.c:1236 .././repair/avl.c:1215
+-#, c-format
+-msgid "end of range ? "
+-msgstr "koniec przedziału? "
++#: .././db/attrset.c:131
++msgid "bad option for attr_set command\n"
++msgstr "błędna opcja dla polecenia attr_set\n"
+-#: .././repair/avl64.c:1247 .././repair/avl.c:1226
+-#, c-format
+-msgid "Cannot find %d\n"
+-msgstr "Nie można odnaleźć %d\n"
++#: .././db/attrset.c:137
++msgid "too few options for attr_set (no name given)\n"
++msgstr "za mało opcji dla attr_set (nie podano nazwy)\n"
+-#: .././repair/avl64.c:1260 .././repair/avl.c:1239
++#: .././db/attrset.c:146
+ #, c-format
+-msgid "size of range ? "
+-msgstr "rozmiar przedziału? "
++msgid "cannot allocate buffer (%d)\n"
++msgstr "nie udało się przydzielić bufora (%d)\n"
+-#: .././repair/avl64.c:1271 .././repair/avl.c:1250
++#: .././db/attrset.c:155 .././db/attrset.c:230
+ #, c-format
+-msgid "End of range ? "
+-msgstr "Koniec przedziału? "
++msgid "failed to iget inode %llu\n"
++msgstr "operacja iget na i-węźle %llu nie powiodła się\n"
+-#: .././repair/avl64.c:1275 .././repair/avl.c:1254
++#: .././db/attrset.c:162
+ #, c-format
+-msgid "checklen 0/1 ? "
+-msgstr "checklen 0/1 ? "
++msgid "failed to set attr %s on inode %llu\n"
++msgstr "ustawianie atrybutu %s w i-węźle %llu nie powiodło się\n"
+-#: .././repair/avl64.c:1282 .././repair/avl.c:1261
+-#, c-format
+-msgid "Found something\n"
+-msgstr "Znaleziono coś\n"
++#: .././db/attrset.c:217
++msgid "bad option for attr_remove command\n"
++msgstr "błędna opcja dla polecenia attr_remove\n"
+-#: .././repair/phase7.c:43
+-#, c-format
+-msgid "resetting inode %<PRIu64> nlinks from %u to %u\n"
+-msgstr "przestawiono nlinks i-węzła %<PRIu64> z %u na %u\n"
++#: .././db/attrset.c:223
++msgid "too few options for attr_remove (no name given)\n"
++msgstr "za mało opcji dla attr_remove (nie podano nazwy)\n"
+-#: .././repair/phase7.c:49
++#: .././db/attrset.c:236
+ #, c-format
+-msgid "nlinks %u will overflow v1 ino, ino %<PRIu64> will be converted to version 2\n"
+-msgstr "nlinks %u przepełni i-węzeł v1, i-węzeł %<PRIu64> będzie skonwertowany do wersji 2\n"
++msgid "failed to remove attr %s from inode %llu\n"
++msgstr "usunięcie atrybutu %s z i-węzła %llu nie powiodło się\n"
+-#: .././repair/phase7.c:56
+-#, c-format
+-msgid "would have reset inode %<PRIu64> nlinks from %u to %u\n"
+-msgstr "nlinks i-węzła %<PRIu64> zostałoby przestawione z %u na %u\n"
++#: .././db/block.c:43 .././db/block.c:49
++msgid "filoff"
++msgstr "filoff"
+-#: .././repair/phase7.c:85 .././repair/phase6.c:3267 .././repair/phase6.c:3271
+-#, c-format
+-msgid "couldn't map inode %<PRIu64>, err = %d\n"
+-msgstr "nie udało się odwzorować i-węzła %<PRIu64>, błąd = %d\n"
++#: .././db/block.c:44
++msgid "set address to file offset (attr fork)"
++msgstr "ustawienie adresu na offset w pliku (gałąź atrybutów)"
+-#: .././repair/phase7.c:89
+-#, c-format
+-msgid "couldn't map inode %<PRIu64>, err = %d, can't compare link counts\n"
+-msgstr "nie udało się odwzorować i-węzła %<PRIu64>, błąd %d, nie można porównać liczby dowiązań\n"
++#: .././db/block.c:46
++msgid "[d]"
++msgstr "[d]"
+-#: .././repair/phase7.c:128
+-msgid "Phase 7 - verify and correct link counts...\n"
+-msgstr "Faza 7 - sprawdzanie i poprawianie liczby dowiązań...\n"
++#: .././db/block.c:47
++msgid "set address to daddr value"
++msgstr "ustawienie adresu na wartość daddr"
+-#: .././repair/phase7.c:130
+-msgid "Phase 7 - verify link counts...\n"
+-msgstr "Faza 7 - sprawdzanie liczby dowiązań...\n"
++#: .././db/block.c:50
++msgid "set address to file offset (data fork)"
++msgstr "ustawienie adresu na offset w pliku (gałąź danych)"
+-#: .././repair/threads.c:90
+-#, c-format
+-msgid "cannot create worker threads, error = [%d] %s\n"
+-msgstr "nie można utworzyć wątków pracujących, błąd: [%d] %s\n"
++#: .././db/block.c:52
++msgid "[fsb]"
++msgstr "[fsb]"
+-#: .././repair/threads.c:108
+-#, c-format
+-msgid "cannot allocate worker item, error = [%d] %s\n"
+-msgstr "nie można przydzielić elementu pracującego, błąd: [%d] %s\n"
++#: .././db/block.c:53
++msgid "set address to fsblock value"
++msgstr "ustawienie adresu na wartość fsblock"
+-#: .././repair/prefetch.c:465
+-msgid "prefetch corruption\n"
+-msgstr "uszkodzenie prefetch\n"
++#: .././db/block.c:59
++msgid ""
++"\n"
++" Example:\n"
++"\n"
++" 'ablock 23' - sets the file position to the 23rd filesystem block in\n"
++" the inode's attribute fork.  The filesystem block size is specified in\n"
++" the superblock.\n"
++"\n"
++msgstr ""
++"\n"
++" Przykład:\n"
++"\n"
++" 'ablock 23' ustawia pozycję w pliku na 23. blok systemu plików w gałęzi\n"
++" atrybutów i-węzła. Rozmiar bloku systemu plików jest określony w superbloku.\n"
++"\n"
+-#: .././repair/prefetch.c:611 .././repair/prefetch.c:711
++#: .././db/block.c:82 .././db/block.c:177
+ #, c-format
+-msgid "failed to create prefetch thread: %s\n"
+-msgstr "nie udało się utworzyć wątku prefetch: %s\n"
+-
+-#: .././repair/prefetch.c:748
+-msgid "failed to initialize prefetch mutex\n"
+-msgstr "nie udało się zainicjować muteksu prefetch\n"
++msgid "bad block number %s\n"
++msgstr "błędny numer bloku %s\n"
+-#: .././repair/prefetch.c:750 .././repair/prefetch.c:752
+-msgid "failed to initialize prefetch cond var\n"
+-msgstr "nie udało się zainicjować zmiennej warunkowej prefetch\n"
++#: .././db/block.c:90
++msgid "no attribute data for file\n"
++msgstr "brak danych atrybutów dla pliku\n"
+-#: .././repair/phase5.c:211
+-msgid "could not set up btree block array\n"
+-msgstr "nie udało się utworzyć tablicy bloków b-drzewa\n"
++#: .././db/block.c:96
++msgid "file attr block is unmapped\n"
++msgstr "blok atrybutów pliku nie ma odwzorowania\n"
+-#: .././repair/phase5.c:223
+-msgid "error - not enough free space in filesystem\n"
+-msgstr "błąd - za mało wolnego miejsca w systemie plików\n"
++#: .././db/block.c:119
++msgid ""
++"\n"
++" Example:\n"
++"\n"
++" 'daddr 102' - sets position to the 102nd absolute disk block\n"
++" (512 byte block).\n"
++msgstr ""
++"\n"
++" Przykład:\n"
++"\n"
++" 'daddr 102' ustawia pozycję na 102. (bezwzględnie) blok dysku\n"
++" (blok 512-bajtowy).\n"
+-#: .././repair/phase5.c:438
++#: .././db/block.c:135
+ #, c-format
+-msgid "can't rebuild fs trees -- not enough free space on ag %u\n"
+-msgstr "nie można przebudować drzew systemu plików - za mało wolnego miejsca w ag %u\n"
++msgid "current daddr is %lld\n"
++msgstr "bieżący daddr to %lld\n"
+-#: .././repair/phase5.c:462
++#: .././db/block.c:141
+ #, c-format
+-msgid "ag %u - not enough free space to build freespace btrees\n"
+-msgstr "ag %u - za mało wolnego miejsca na przebudowanie b-drzew wolnego miejsca\n"
++msgid "bad daddr %s\n"
++msgstr "błędny daddr %s\n"
+-#: .././repair/phase5.c:497
+-#, c-format
+-msgid "not enough free blocks left to describe all free blocks in AG %u\n"
+-msgstr "za mało wolnych bloków na opisanie wszystkich wolnych bloków w AG %u\n"
++#: .././db/block.c:153
++msgid ""
++"\n"
++" Example:\n"
++"\n"
++" 'dblock 23' - sets the file position to the 23rd filesystem block in\n"
++" the inode's data fork.  The filesystem block size is specified in the\n"
++" superblock.\n"
++"\n"
++msgstr ""
++"\n"
++" Przykład:\n"
++"\n"
++" 'dblock 23' ustawia pozycję w pliku na 23. blok systemu plików w gałęzi\n"
++" danych i-węzła. Rozmiar bloku systemu plików jest określony w superbloku.\n"
++"\n"
+-#: .././repair/phase5.c:1310
+-#, c-format
+-msgid "lost %d blocks in ag %u\n"
+-msgstr "utracono %d bloków w ag %u\n"
++#: .././db/block.c:185
++msgid "no type for file data\n"
++msgstr "brak typu dla danych pliku\n"
++
++#: .././db/block.c:192
++msgid "file data block is unmapped\n"
++msgstr "blok danych plików nie ma odwzorowania\n"
++
++#: .././db/block.c:210
++msgid ""
++"\n"
++" Example:\n"
++"\n"
++" 'fsblock 1023' - sets the file position to the 1023rd filesystem block.\n"
++" The filesystem block size is specified in the superblock and set during\n"
++" mkfs time.  Offset is absolute (not AG relative).\n"
++"\n"
++msgstr ""
++"\n"
++" Przykład:\n"
++"\n"
++" 'fsblock 1023' ustawia pozycję w pliku na 1023. blok systemu plików.\n"
++" Rozmiar bloku systemu plików jest określony w superbloku i ustawiany w\n"
++" trakcie wykonywania mkfs. Offset jest bezwzględny (nie względem AG).\n"
++"\n"
+-#: .././repair/phase5.c:1313
++#: .././db/block.c:229
+ #, c-format
+-msgid "thought we were going to lose %d blocks in ag %u, actually lost %d\n"
+-msgstr "przewidywano utracenie %d bloków w ag %u, a utracono %d\n"
++msgid "current fsblock is %lld\n"
++msgstr "bieżący fsblock to %lld\n"
+-#: .././repair/phase5.c:1409 .././repair/phase3.c:76 .././repair/phase4.c:125
+-#: .././repair/phase6.c:3624
++#: .././db/block.c:235 .././db/block.c:241
+ #, c-format
+-msgid "        - agno = %d\n"
+-msgstr "        - agno = %d\n"
++msgid "bad fsblock %s\n"
++msgstr "błędny fsblock %s\n"
+-#: .././repair/phase5.c:1432
++#: .././db/bmap.c:39
++msgid "[-ad] [block [len]]"
++msgstr "[-ad] [blok [długość]]"
++
++#: .././db/bmap.c:40
++msgid "show block map for current file"
++msgstr "pokazanie mapy bloków dla bieżącego pliku"
++
++#: .././db/bmap.c:152 .././db/inode.c:417
++msgid "no current inode\n"
++msgstr "brak bieżącego i-węzła\n"
++
++#: .././db/bmap.c:165
++msgid "bad option for bmap command\n"
++msgstr "błędna opcja dla polecenia bmap\n"
++
++#: .././db/bmap.c:182
+ #, c-format
+-msgid "unable to rebuild AG %u.  Not enough free space in on-disk AG.\n"
+-msgstr "nie udało się przebudować AG %u. Za mało wolnego miejsca w AG na dysku.\n"
++msgid "bad block number for bmap %s\n"
++msgstr "błędny numer bloku dla bmap %s\n"
+-#: .././repair/phase5.c:1467
++#: .././db/bmap.c:190
+ #, c-format
+-msgid "unable to rebuild AG %u.  No free space.\n"
+-msgstr "nie udało się przebudować AG %u. Brak wolnego miejsca.\n"
++msgid "bad len for bmap %s\n"
++msgstr "błędna długość dla bmap %s\n"
+-#: .././repair/phase5.c:1494
++#: .././db/bmap.c:213
+ #, c-format
+-msgid "lost %d blocks in agno %d, sorry.\n"
+-msgstr "niestety utracono %d bloków w agno %d.\n"
++msgid "%s offset %lld startblock %llu (%u/%u) count %llu flag %u\n"
++msgstr "%s oofset %lld blok-pocz %llu (%u/%u) liczba %llu flaga %u\n"
+-#: .././repair/phase5.c:1563
+-msgid "Phase 5 - rebuild AG headers and trees...\n"
+-msgstr "Faza 5 - przebudowywanie nagłówków i drzew AG...\n"
++#: .././db/bmap.c:215 .././db/check.c:2136 .././db/check.c:2148
++#: .././db/check.c:2175 .././repair/dinode.c:50
++msgid "data"
++msgstr "danych"
+-#: .././repair/phase5.c:1593
+-msgid "cannot alloc sb_icount_ag buffers\n"
+-msgstr "nie można przydzielić buforów sb_icount_ag\n"
++#: .././db/bmap.c:215 .././db/check.c:2136 .././db/check.c:2148
++#: .././db/check.c:2175 .././repair/dinode.c:51
++msgid "attr"
++msgstr "atrybutów"
+-#: .././repair/phase5.c:1597
+-msgid "cannot alloc sb_ifree_ag buffers\n"
+-msgstr "nie można przydzielić buforów sb_ifree_ag\n"
++#: .././db/check.c:362
++msgid "free block usage information"
++msgstr "informacje o wykorzystaniu wolnych bloków"
+-#: .././repair/phase5.c:1601
+-msgid "cannot alloc sb_fdblocks_ag buffers\n"
+-msgstr "nie można przydzielić buforów sb_fdblocks_ag\n"
++#: .././db/check.c:365
++msgid "[-s|-v] [-n] [-t] [-b bno]... [-i ino] ..."
++msgstr "[-s|-v] [-n] [-t] [-b bno]... [-i ino] ..."
+-#: .././repair/phase5.c:1620
+-msgid "        - generate realtime summary info and bitmap...\n"
+-msgstr "        - generowanie opisu i bitmapy realtime...\n"
++#: .././db/check.c:366
++msgid "get block usage and check consistency"
++msgstr "uzyskanie informacji o wykorzystaniu bloków i sprawdzenie spójności"
+-#: .././repair/phase5.c:1625
+-msgid "        - reset superblock...\n"
+-msgstr "        - przestawianie superbloku...\n"
++#: .././db/check.c:369
++msgid "[-n count] [-x minlen] [-y maxlen] [-s seed] [-0123] [-t type] ..."
++msgstr "[-n liczba] [-x minlen] [-y maxlen] [-s seed] [-0123] [-t typ] ..."
++
++#: .././db/check.c:370
++msgid "trash randomly selected block(s)"
++msgstr "zaśmiecenie losowo wybranych bloków"
++
++#: .././db/check.c:373
++msgid "[-n] [-c blockcount]"
++msgstr "[-n] [-c liczba-bloków]"
++
++#: .././db/check.c:374
++msgid "print usage for current block(s)"
++msgstr "wypisanie wykorzystania bieżących bloków"
++
++#: .././db/check.c:377
++msgid "[-s] [-i ino] ..."
++msgstr "[-s] [-i ino] ..."
++
++#: .././db/check.c:378
++msgid "print inode-name pairs"
++msgstr "wypisanie par i-węzeł - nazwa"
+-#: .././repair/agheader.c:35
++#: .././db/check.c:398
+ #, c-format
+-msgid "bad magic # 0x%x for agf %d\n"
+-msgstr "błędna liczba magiczna 0x%x dla agf %d\n"
++msgid "-i %lld bad inode number\n"
++msgstr "-i %lld - błędny numer i-węzła\n"
+-#: .././repair/agheader.c:44
++#: .././db/check.c:410
+ #, c-format
+-msgid "bad version # %d for agf %d\n"
+-msgstr "błędny numer wersji %d dla agf %d\n"
++msgid "inode %lld add link, now %u\n"
++msgstr "i-węzeł %lld - dodano dowiązanie, teraz %u\n"
+-#: .././repair/agheader.c:53
++#: .././db/check.c:437
+ #, c-format
+-msgid "bad sequence # %d for agf %d\n"
+-msgstr "błędny numer sekwencji %d dla agf %d\n"
++msgid "inode %lld parent %lld\n"
++msgstr "i-węzeł %lld - rodzic %lld\n"
++
++#: .././db/check.c:750
++msgid "block usage information not allocated\n"
++msgstr "informacja o wykorzystaniu bloków nie przydzielona\n"
+-#: .././repair/agheader.c:63
++#: .././db/check.c:788
++msgid "already have block usage information\n"
++msgstr "już istnieje informacja o wykorzystaniu bloków\n"
++
++#: .././db/check.c:818 .././db/check.c:926
++msgid "WARNING: this may be a newer XFS filesystem.\n"
++msgstr "UWAGA: to może być nowszy system plików XFS.\n"
++
++#: .././db/check.c:854
+ #, c-format
+-msgid "bad length %d for agf %d, should be %d\n"
+-msgstr "błędna długość %d dla agf %d, powinno być %d\n"
++msgid "sb_icount %lld, counted %lld\n"
++msgstr "sb_icount %lld, naliczono %lld\n"
+-#: .././repair/agheader.c:76
++#: .././db/check.c:860
+ #, c-format
+-msgid "bad length %d for agf %d, should be %<PRIu64>\n"
+-msgstr "błędna długość %d dla agf %d, powinno być %<PRIu64>\n"
++msgid "sb_ifree %lld, counted %lld\n"
++msgstr "sb_ifree %lld, naliczono %lld\n"
+-#: .././repair/agheader.c:90
++#: .././db/check.c:866
+ #, c-format
+-msgid "flfirst %d in agf %d too large (max = %zu)\n"
+-msgstr "flfirst %d w agf %d zbyt duże (maksimum = %zu)\n"
++msgid "sb_fdblocks %lld, counted %lld\n"
++msgstr "sb_fdblocks %lld, naliczono %lld\n"
+-#: .././repair/agheader.c:98
++#: .././db/check.c:872
+ #, c-format
+-msgid "fllast %d in agf %d too large (max = %zu)\n"
+-msgstr "fllast %d w agf %d zbyt duże (maksimum = %zu)\n"
++msgid "sb_fdblocks %lld, aggregate AGF count %lld\n"
++msgstr "sb_fdblocks %lld, łączny licznik AGF %lld\n"
+-#: .././repair/agheader.c:120
++#: .././db/check.c:878
+ #, c-format
+-msgid "bad magic # 0x%x for agi %d\n"
+-msgstr "błędna liczba magiczna 0x%x dla agi %d\n"
++msgid "sb_frextents %lld, counted %lld\n"
++msgstr "sb_frextents %lld, naliczono %lld\n"
+-#: .././repair/agheader.c:129
++#: .././db/check.c:885
+ #, c-format
+-msgid "bad version # %d for agi %d\n"
+-msgstr "błędny numer wersji %d dla agi %d\n"
++msgid "sb_features2 (0x%x) not same as sb_bad_features2 (0x%x)\n"
++msgstr "sb_features2 (0x%x) różni się od sb_bad_features2 (0x%x)\n"
+-#: .././repair/agheader.c:138
++#: .././db/check.c:894
+ #, c-format
+-msgid "bad sequence # %d for agi %d\n"
+-msgstr "błędny numer sekwencji %d dla agi %d\n"
++msgid "sb versionnum missing attr bit %x\n"
++msgstr "sb versionnum - brak bitu atrybutu %x\n"
+-#: .././repair/agheader.c:148
++#: .././db/check.c:901
+ #, c-format
+-msgid "bad length # %d for agi %d, should be %d\n"
+-msgstr "błędna długość %d dla agi %d, powinno być %d\n"
++msgid "sb versionnum missing nlink bit %x\n"
++msgstr "sb versionnum - brak bitu nlink %x\n"
+-#: .././repair/agheader.c:161
++#: .././db/check.c:908
+ #, c-format
+-msgid "bad length # %d for agi %d, should be %<PRIu64>\n"
+-msgstr "błędna długość %d dla agi %d, powinno być %<PRIu64>\n"
++msgid "sb versionnum missing quota bit %x\n"
++msgstr "sb versionnum - brak bitu quota %x\n"
+-#: .././repair/agheader.c:271
++#: .././db/check.c:915
+ #, c-format
+-msgid "zeroing unused portion of %s superblock (AG #%u)\n"
+-msgstr "zerowanie nieużywanej części superbloku %s (AG #%u)\n"
++msgid "sb versionnum extra align bit %x\n"
++msgstr "sb versionnum - nadmiarowy bit align %x\n"
+-#: .././repair/agheader.c:272 .././repair/agheader.c:278
+-msgid "primary"
+-msgstr "głównego"
++#: .././db/check.c:955
++msgid "zeroed"
++msgstr "wyzerowano"
+-#: .././repair/agheader.c:272 .././repair/agheader.c:278
+-msgid "secondary"
+-msgstr "zapasowego"
++#: .././db/check.c:955
++msgid "set"
++msgstr "ustawiono"
+-#: .././repair/agheader.c:277
+-#, c-format
+-msgid "would zero unused portion of %s superblock (AG #%u)\n"
+-msgstr "nieużywana część superbloku %s (AG #%u) zostałaby wyzerowana\n"
++#: .././db/check.c:955
++msgid "flipped"
++msgstr "przełączono"
+-#: .././repair/agheader.c:296
+-#, c-format
+-msgid "bad flags field in superblock %d\n"
+-msgstr "błędne pole flag w superbloku %d\n"
++#: .././db/check.c:955
++msgid "randomized"
++msgstr "ulosowiono"
+-#: .././repair/agheader.c:313
++#: .././db/check.c:965
+ #, c-format
+-msgid "non-null user quota inode field in superblock %d\n"
+-msgstr "niezerowe pole i-węzła limitów użytkowników w superbloku %d\n"
++msgid "can't read block %u/%u for trashing\n"
++msgstr "nie można odczytać bloku %u/%u w celu zaśmiecenia\n"
+-#: .././repair/agheader.c:326
++#: .././db/check.c:995
+ #, c-format
+-msgid "non-null group quota inode field in superblock %d\n"
+-msgstr "niezerowe pole i-węzła limitów grup w superbloku %d\n"
++msgid "blocktrash: %u/%u %s block %d bit%s starting %d:%d %s\n"
++msgstr "blocktrash: %u/%u %s blok %d bit%s początek %d:%d %s\n"
+-#: .././repair/agheader.c:338
+-#, c-format
+-msgid "non-null quota flags in superblock %d\n"
+-msgstr "niezerowe flagi limitów w superbloku %d\n"
++#: .././db/check.c:1027 .././db/check.c:1185
++msgid "must run blockget first\n"
++msgstr "najpierw trzeba wykonać blockget\n"
+-#: .././repair/agheader.c:356
++#: .././db/check.c:1071
+ #, c-format
+-msgid "bad shared version number in superblock %d\n"
+-msgstr "błędny numer wersji dzielonej w superbloku %d\n"
++msgid "bad blocktrash count %s\n"
++msgstr "błędna liczba bloków do zaśmiecenia %s\n"
+-#: .././repair/agheader.c:368
++#: .././db/check.c:1085
+ #, c-format
+-msgid "bad inode alignment field in superblock %d\n"
+-msgstr "błędne pole wyrównania i-węzłów w superbloku %d\n"
++msgid "bad blocktrash type %s\n"
++msgstr "błędny typ zaśmiecania %s\n"
+-#: .././repair/agheader.c:381
++#: .././db/check.c:1094
+ #, c-format
+-msgid "bad stripe unit/width fields in superblock %d\n"
+-msgstr "błędne pola jednostki/szerokości pasa w superbloku %d\n"
++msgid "bad blocktrash min %s\n"
++msgstr "błędny początek zaśmiecania %s\n"
+-#: .././repair/agheader.c:399
++#: .././db/check.c:1102
+ #, c-format
+-msgid "bad log/data device sector size fields in superblock %d\n"
+-msgstr "błędne pola rozmiaru sektora urządzenia logu/danych w superbloku %d\n"
++msgid "bad blocktrash max %s\n"
++msgstr "błędny koniec zaśmiecania %s\n"
+-#: .././repair/agheader.c:430
+-#, c-format
+-msgid "bad on-disk superblock %d - %s\n"
+-msgstr "błędny superblok %d na dysku - %s\n"
++#: .././db/check.c:1107
++msgid "bad option for blocktrash command\n"
++msgstr "błędna opcja polecenia blocktrash\n"
+-#: .././repair/agheader.c:437
+-#, c-format
+-msgid "primary/secondary superblock %d conflict - %s\n"
+-msgstr "konflikt głównego/zapasowego superbloku %d - %s\n"
++#: .././db/check.c:1112
++msgid "bad min/max for blocktrash command\n"
++msgstr "błędny początek/koniec polecenia blocktrash\n"
+-#: .././repair/versions.c:73
+-#, c-format
+-msgid "bogus quota flags 0x%x set in superblock"
+-msgstr "niepoprawne flagi limitów 0x%x ustawione w superbloku"
++#: .././db/check.c:1138
++msgid "blocktrash: no matching blocks\n"
++msgstr "blocktrash: brak pasujących bloków\n"
+-#: .././repair/versions.c:86
+-msgid ", bogus flags will be cleared\n"
+-msgstr ", błędne flagi zostaną wyczyszczone\n"
++#: .././db/check.c:1142
++#, c-format
++msgid "blocktrash: seed %u\n"
++msgstr "blocktash: zarodek %u\n"
+-#: .././repair/versions.c:88
+-msgid ", bogus flags would be cleared\n"
+-msgstr ", błędne flagi zostałyby wyczyszczone\n"
++#: .././db/check.c:1200
++#, c-format
++msgid "bad blockuse count %s\n"
++msgstr "błędna liczba bloków dla blockuse: %s\n"
+-#: .././repair/versions.c:141
+-msgid "This filesystem has uninitialized extent flags.\n"
+-msgstr "Ten system plików ma niezainicjowane flagi ekstentów.\n"
++#: .././db/check.c:1206 .././db/check.c:1892
++msgid "must run blockget -n first\n"
++msgstr "najpierw trzeba wykonać blockget -n\n"
+-#: .././repair/versions.c:149
+-msgid "This filesystem is marked shared.\n"
+-msgstr "Ten system plików jest oznaczony jako współdzielony.\n"
++#: .././db/check.c:1212
++msgid "bad option for blockuse command\n"
++msgstr "błędna opcja dla polecenia blockuse\n"
+-#: .././repair/versions.c:155
+-msgid ""
+-"This filesystem uses feature(s) not yet supported in this release.\n"
+-"Please run a more recent version of xfs_repair.\n"
+-msgstr ""
+-"Ten system plików używa możliwości jeszcze nie obsługiwanych w tym wydaniu.\n"
+-"Proszę uruchomić nowszą wersję xfs_repair.\n"
++#: .././db/check.c:1219
++#, c-format
++msgid "block %llu (%u/%u) type %s"
++msgstr "blok %llu (%u/%u) typu %s"
+-#: .././repair/versions.c:161
++#: .././db/check.c:1223
+ #, c-format
+-msgid "WARNING:  unknown superblock version %d\n"
+-msgstr "UWAGA: nieznana wersja superbloku %d\n"
++msgid " inode %lld"
++msgstr " i-węzeł %lld"
+-#: .././repair/versions.c:164
+-msgid "This filesystem contains features not understood by this program.\n"
+-msgstr "Ten system plików zawiera cechę nie rozumianą przez ten program.\n"
++#: .././db/check.c:1261
++#, c-format
++msgid "block %u/%u expected type %s got %s\n"
++msgstr "blok %u/%u: oczekiwano typu %s, otrzymano %s\n"
+-#: .././repair/versions.c:172
+-msgid ""
+-"WARNING:  you have disallowed superblock-feature-bits-allowed\n"
+-"\tbut this superblock has feature bits.  The superblock\n"
+-"\twill be downgraded.  This may cause loss of filesystem meta-data\n"
+-msgstr ""
+-"UWAGA: zabroniono superblock-feature-bits-allowed, ale ten\n"
+-"\tsuperblok ma ustawione bity cech. Superblok zostanie zdegradowany.\n"
+-"\tMoże to spowodować utratę metadanych systemu plików.\n"
++#: .././db/check.c:1293
++#, c-format
++msgid "blocks %u/%u..%u claimed by inode %lld\n"
++msgstr "blok %u/%u..%u przypisany do i-węzła %lld\n"
+-#: .././repair/versions.c:177
+-msgid ""
+-"WARNING:  you have disallowed superblock-feature-bits-allowed\n"
+-"\tbut this superblock has feature bits.  The superblock\n"
+-"\twould be downgraded.  This might cause loss of filesystem\n"
+-"\tmeta-data.\n"
+-msgstr ""
+-"UWAGA: zabroniono superblock-feature-bits-allowed, ale ten\n"
+-"\tsuperblok ma ustawione bity cech. Superblok zostałby zdegradowany.\n"
+-"\tMogłoby to spowodować utratę metadanych systemu plików.\n"
++#: .././db/check.c:1301
++#, c-format
++msgid "block %u/%u claimed by inode %lld, previous inum %lld\n"
++msgstr "blok %u/%u przypisany do i-węzła %lld, poprzedni inum %lld\n"
+-#: .././repair/versions.c:191
+-msgid ""
+-"WARNING:  you have disallowed attributes but this filesystem\n"
+-"\thas attributes.  The filesystem will be downgraded and\n"
+-"\tall attributes will be removed.\n"
+-msgstr ""
+-"UWAGA: zabroniono używania atrybutów, ale ten system plików zawiera\n"
+-"\tatrybuty. System plików zostanie zdegradowany, a wszystkie\n"
+-"\tatrybuty usunięte.\n"
++#: .././db/check.c:1330
++#, c-format
++msgid "link count mismatch for inode %lld (name %s), nlink %d, counted %d\n"
++msgstr "niezgodność liczby dowiązań dla i-węzła %lld (nazwa %s), nlink %d, naliczono %d\n"
+-#: .././repair/versions.c:196
+-msgid ""
+-"WARNING:  you have disallowed attributes but this filesystem\n"
+-"\thas attributes.  The filesystem would be downgraded and\n"
+-"\tall attributes would be removed.\n"
+-msgstr ""
+-"UWAGA: zabroniono używania atrybutów, ale ten system plików zawiera\n"
+-"\tatrybuty. System plików zostałby zdegradowany, a wszystkie\n"
+-"\tatrybuty usunięte.\n"
++#: .././db/check.c:1338
++#, c-format
++msgid "disconnected inode %lld, nlink %d\n"
++msgstr "odłączony i-węzeł %lld, nlink %d\n"
+-#: .././repair/versions.c:209
+-msgid ""
+-"WARNING:  you have disallowed attr2 attributes but this filesystem\n"
+-"\thas attributes.  The filesystem will be downgraded and\n"
+-"\tall attr2 attributes will be removed.\n"
+-msgstr ""
+-"UWAGA: zabroniono używania atrybutów attr2, ale ten system plików\n"
+-"\tzawiera atrybuty. System plików zostanie zdegradowany, a wszystkie\n"
+-"\tatrybuty attr2 usunięte.\n"
++#: .././db/check.c:1342
++#, c-format
++msgid "allocated inode %lld has 0 link count\n"
++msgstr "przydzielony i-węzeł %lld ma zerową liczbę dowiązań\n"
+-#: .././repair/versions.c:214
+-msgid ""
+-"WARNING:  you have disallowed attr2 attributes but this filesystem\n"
+-"\thas attributes.  The filesystem would be downgraded and\n"
+-"\tall attr2 attributes would be removed.\n"
+-msgstr ""
+-"UWAGA: zabroniono używania atrybutów attr2, ale ten system plików\n"
+-"\tzawiera atrybuty. System plików zostałby zdegradowany, a wszystkie\n"
+-"\tatrybuty attr2 usunięte.\n"
++#: .././db/check.c:1352
++#, c-format
++msgid "inode %lld name %s\n"
++msgstr "i-węzeł %lld o nazwie %s\n"
+-#: .././repair/versions.c:227
+-msgid ""
+-"WARNING:  you have disallowed version 2 inodes but this filesystem\n"
+-"\thas version 2 inodes.  The filesystem will be downgraded and\n"
+-"\tall version 2 inodes will be converted to version 1 inodes.\n"
+-"\tThis may cause some hard links to files to be destroyed\n"
+-msgstr ""
+-"UWAGA: zabroniono używania i-węzłów w wersji 2, ale ten system plików\n"
+-"\tzawiera i-węzły w wersji 2. System plików zostanie zdegradowany,\n"
+-"\ta wszystkie i-węzły w wersji 2 zostaną przekonwertowane do wersji 1.\n"
+-"\tMoże to spowodować zniszczenie niektórych twardych dowiązań do\n"
+-"\tplików.\n"
++#: .././db/check.c:1386 .././db/check.c:1401
++#, c-format
++msgid "block %u/%u out of range\n"
++msgstr "blok %u/%u poza zakresem\n"
+-#: .././repair/versions.c:233
+-msgid ""
+-"WARNING:  you have disallowed version 2 inodes but this filesystem\n"
+-"\thas version 2 inodes.  The filesystem would be downgraded and\n"
+-"\tall version 2 inodes would be converted to version 1 inodes.\n"
+-"\tThis might cause some hard links to files to be destroyed\n"
+-msgstr ""
+-"UWAGA: zabroniono używania i-węzłów w wersji 2, ale ten system plików\n"
+-"\tzawiera i-węzły w wersji 2. System plików zostałby zdegradowany,\n"
+-"\ta wszystkie i-węzły w wersji 2 zostałyby przekonwertowane do\n"
+-"\twersji 1. Mogłoby to spowodować zniszczenie niektórych twardych\n"
+-"\tdowiązań do plików.\n"
++#: .././db/check.c:1389 .././db/check.c:1404
++#, c-format
++msgid "blocks %u/%u..%u out of range\n"
++msgstr "bloki %u/%u..%u poza zakresem\n"
+-#: .././repair/versions.c:247
+-msgid ""
+-"WARNING:  you have disallowed quotas but this filesystem\n"
+-"\thas quotas.  The filesystem will be downgraded and\n"
+-"\tall quota information will be removed.\n"
+-msgstr ""
+-"UWAGA: zabroniono używania limitów (quot), ale ten system plików\n"
+-"\tzawiera limity. System plików zostanie zdegradowany, a wszystkie\n"
+-"\tinformacje o limitach usunięte.\n"
++#: .././db/check.c:1427
++#, c-format
++msgid "rtblock %llu expected type %s got %s\n"
++msgstr "rtblok %llu - oczekiwano typu %s, otrzymano %s\n"
+-#: .././repair/versions.c:252
+-msgid ""
+-"WARNING:  you have disallowed quotas but this filesystem\n"
+-"\thas quotas.  The filesystem would be downgraded and\n"
+-"\tall quota information would be removed.\n"
+-msgstr ""
+-"UWAGA: zabroniono używania limitów (quot), ale ten system plików\n"
+-"\tzawiera limity. System plików zostałby zdegradowany, a wszystkie\n"
+-"\tinformacje o limitach usunięte.\n"
++#: .././db/check.c:1447
++#, c-format
++msgid "rtblocks %llu..%llu claimed by inode %lld\n"
++msgstr "rtbloki %llu..%llu przypisane do i-węzła %lld\n"
+-#: .././repair/versions.c:276
+-msgid ""
+-"WARNING:  you have disallowed aligned inodes but this filesystem\n"
+-"\thas aligned inodes.  The filesystem will be downgraded.\n"
+-"\tThis will permanently degrade the performance of this filesystem.\n"
+-msgstr ""
+-"UWAGA: zabroniono używania wyrównanych i-węzłów, ale ten system plików\n"
+-"\tzawiera wyrównane i-węzły. System plików zostanie zdegradowany.\n"
+-"\tTrwale zdegraduje to wydajność tego systemu plików.\n"
++#: .././db/check.c:1456
++#, c-format
++msgid "rtblock %llu claimed by inode %lld, previous inum %lld\n"
++msgstr "rtblok %llu przypisany do i-węzłą %lld, poprzedni inum %lld\n"
+-#: .././repair/versions.c:281
+-msgid ""
+-"WARNING:  you have disallowed aligned inodes but this filesystem\n"
+-"\thas aligned inodes.  The filesystem would be downgraded.\n"
+-"\tThis would permanently degrade the performance of this filesystem.\n"
+-msgstr ""
+-"UWAGA: zabroniono używania wyrównanych i-węzłów, ale ten system plików\n"
+-"\tzawiera wyrównane i-węzły. System plików zostałby zdegradowany.\n"
+-"\tTrwale zdegradowałoby to wydajność tego systemu plików.\n"
++#: .././db/check.c:1474
++#, c-format
++msgid "root inode %lld is missing\n"
++msgstr "brak głównego i-węzła %lld\n"
+-#: .././repair/init.c:47
++#: .././db/check.c:1479
+ #, c-format
+-msgid "getrlimit(RLIMIT_FSIZE) failed!\n"
+-msgstr "getrlimit(RLIMIT_FSIZE) nie powiodło się!\n"
++msgid "root inode %lld is not a directory\n"
++msgstr "główny i-węzeł %lld nie jest katalogiem\n"
+-#: .././repair/init.c:55
++#: .././db/check.c:1495
+ #, c-format
+-msgid "setrlimit failed - current: %lld, max: %lld\n"
+-msgstr "setrlimit nie powiodło się - bieżący: %lld, max: %lld\n"
++msgid "rtblock %llu out of range\n"
++msgstr "rtblok %llu poza zakresem\n"
+-#: .././repair/init.c:102
+-msgid "couldn't initialize XFS library\n"
+-msgstr "nie udało się zainicjować biblioteki XFS\n"
++#: .././db/check.c:1519
++#, c-format
++msgid "blocks %u/%u..%u claimed by block %u/%u\n"
++msgstr "bloki %u/%u..%u przypisane do bloku %u/%u\n"
+-#: .././repair/phase1.c:28
+-msgid "Sorry, could not find valid secondary superblock\n"
+-msgstr "Niestety nie znaleziono poprawnego zapasowego superbloku\n"
++#: .././db/check.c:1528
++#, c-format
++msgid "setting block %u/%u to %s\n"
++msgstr "ustawianie bloku %u/%u na %s\n"
+-#: .././repair/phase1.c:29
+-msgid "Exiting now.\n"
+-msgstr "Zakończono.\n"
++#: .././db/check.c:1551
++#, c-format
++msgid "setting rtblock %llu to %s\n"
++msgstr "ustawianie rtbloku %llu na %s\n"
+-#: .././repair/phase1.c:40
++#: .././db/check.c:1572 .././repair/rt.c:151
+ #, c-format
+-msgid "could not allocate ag header buffer (%d bytes)\n"
+-msgstr "nie udało się przydzielić bufora nagłówka ag (%d bajtów)\n"
++msgid "rt summary mismatch, size %d block %llu, file: %d, computed: %d\n"
++msgstr "opis rt nie zgadza się, rozmiar %d bloku %llu, plik: %d, obliczono: %d\n"
+-#: .././repair/phase1.c:58
+-msgid "Phase 1 - find and verify superblock...\n"
+-msgstr "Faza 1 - szukanie i sprawdzanie superbloku...\n"
++#: .././db/check.c:1597
++#, c-format
++msgid "block %u/%u type %s not expected\n"
++msgstr "blok %u/%u typu %s nie oczekiwany\n"
+-#: .././repair/phase1.c:74
+-msgid "error reading primary superblock\n"
+-msgstr "błąd podczas odczytu głównego superbloku\n"
++#: .././db/check.c:1618
++#, c-format
++msgid "rtblock %llu type %s not expected\n"
++msgstr "rtblok %llu typu %s nie oczekiwany\n"
+-#: .././repair/phase1.c:80
++#: .././db/check.c:1655
+ #, c-format
+-msgid "bad primary superblock - %s !!!\n"
+-msgstr "błędny główny superblok - %s!!!\n"
++msgid "dir ino %lld missing leaf entry for %x/%x\n"
++msgstr "i-węzeł katalogu %lld - brak wpisu liścia dla %x/%x\n"
+-#: .././repair/phase1.c:87
++#: .././db/check.c:1774
+ #, c-format
+-msgid "couldn't verify primary superblock - %s !!!\n"
+-msgstr "nie udało się sprawdzić głównego superbloku - %s!!!\n"
++msgid "bad superblock magic number %x, giving up\n"
++msgstr "błędna liczba magiczna superbloku %x, poddaję się\n"
+-#: .././repair/phase1.c:105
+-msgid "superblock has a features2 mismatch, correcting\n"
+-msgstr "superblok ma niepasujące features2, poprawianie\n"
++#: .././db/check.c:1828
++msgid "bad option for blockget command\n"
++msgstr "błędna opcja dla polecenia blockget\n"
+-#: .././repair/phase1.c:122
++#: .././db/check.c:1909
+ #, c-format
+-msgid "Enabling lazy-counters\n"
+-msgstr "Włączanie leniwych liczników\n"
++msgid "bad option -%c for ncheck command\n"
++msgstr "błędna opcja -%c dla polecenia ncheck\n"
+-#: .././repair/phase1.c:127
++#: .././db/check.c:1983
+ #, c-format
+-msgid "Disabling lazy-counters\n"
+-msgstr "Wyłączanie leniwych liczników\n"
++msgid "block 0 for directory inode %lld is missing\n"
++msgstr "brak bloku 0 dla i-węzła katalogu %lld\n"
+-#: .././repair/phase1.c:130
++#: .././db/check.c:2003
+ #, c-format
+-msgid "Lazy-counters are already %s\n"
+-msgstr "Leniwe liczniki już są %s\n"
+-
+-#: .././repair/phase1.c:131
+-msgid "enabled"
+-msgstr "włączone"
+-
+-#: .././repair/phase1.c:131
+-msgid "disabled"
+-msgstr "wyłączone"
+-
+-#: .././repair/phase1.c:138
+-msgid "writing modified primary superblock\n"
+-msgstr "zapisano zmodyfikowany główny superblok\n"
+-
+-#: .././repair/phase1.c:141
+-msgid "would write modified primary superblock\n"
+-msgstr "zmodyfikowany główny superblok zostałby zapisany\n"
++msgid "can't read block 0 for directory inode %lld\n"
++msgstr "nie można odczytać bloku 0 dla i-węzła katalogu %lld\n"
+-#: .././repair/incore.c:230
++#: .././db/check.c:2049
+ #, c-format
+-msgid "couldn't allocate realtime block map, size = %<PRIu64>\n"
+-msgstr "nie udało się przydzielić mapy bloków realtime, size = %<PRIu64>\n"
+-
+-#: .././repair/incore.c:295
+-msgid "couldn't allocate block map btree roots\n"
+-msgstr "nie udało się przydzielić korzeni b-drzewa mapy bloków\n"
+-
+-#: .././repair/incore.c:299
+-msgid "couldn't allocate block map locks\n"
+-msgstr "nie udało się przydzielić blokad mapy bloków\n"
++msgid "inode %lld extent [%lld,%lld,%lld,%d]\n"
++msgstr "ekstent i-węzła %lld [%lld,%lld,%lld,%d]\n"
+-#: .././repair/dino_chunks.c:58
++#: .././db/check.c:2052
+ #, c-format
+-msgid "cannot read agbno (%u/%u), disk block %<PRId64>\n"
+-msgstr "nie można odczytać agbno (%u/%u), blok dysku %<PRId64>\n"
++msgid "bmap rec out of order, inode %lld entry %d\n"
++msgstr "błędna kolejność bmap rec - i-węzeł %lld, wpis %d\n"
+-#: .././repair/dino_chunks.c:149
++#: .././db/check.c:2058
+ #, c-format
+-msgid "uncertain inode block %d/%d already known\n"
+-msgstr "niepewny blok i-węzła %d/%d już znany\n"
++msgid "inode %lld bad rt block number %lld, offset %lld\n"
++msgstr "i-węzeł %lld - błędny numer bloku rt %lld, offset %lld\n"
+-#: .././repair/dino_chunks.c:165 .././repair/dino_chunks.c:437
+-#: .././repair/dino_chunks.c:496
++#: .././db/check.c:2068 .././db/check.c:2074
+ #, c-format
+-msgid "inode block %d/%d multiply claimed, (state %d)\n"
+-msgstr "blok i-węzła %d/%d już przypisany (stan %d)\n"
++msgid "inode %lld bad block number %lld [%d,%d], offset %lld\n"
++msgstr "i-węzeł %lld - błędny numer bloku %lld [%d,%d], offset %lld\n"
+-#: .././repair/dino_chunks.c:172 .././repair/dino_chunks.c:501
++#: .././db/check.c:2092 .././db/check.c:2106
+ #, c-format
+-msgid "inode block %d/%d bad state, (state %d)\n"
+-msgstr "blok i-węzła (%d/%d) w błędnym stanie (stan %d)\n"
++msgid "inode %lld block %lld at offset %lld\n"
++msgstr "i-węzeł %lld: blok %lld pod offsetem %lld\n"
+-#: .././repair/dino_chunks.c:444
++#: .././db/check.c:2133
+ #, c-format
+-msgid "uncertain inode block overlap, agbno = %d, ino = %<PRIu64>\n"
+-msgstr "niepewny blok i-węzła pokrywa się, agbno = %d, i-węzeł %<PRIu64>\n"
++msgid "level for ino %lld %s fork bmap root too large (%u)\n"
++msgstr "i-węzeł %lld: poziom bmap root odgałęzienia %s zbyt duży (%u)\n"
+-#: .././repair/dino_chunks.c:483
++#: .././db/check.c:2145
+ #, c-format
+-msgid "uncertain inode block %<PRIu64> already known\n"
+-msgstr "niepewny blok i-węzła %<PRIu64> już znany\n"
++msgid "numrecs for ino %lld %s fork bmap root too large (%u)\n"
++msgstr "i-węzeł %lld: liczba rekordów bmap root odgałęzienia %s zbyt duża (%u)\n"
+-#: .././repair/dino_chunks.c:620
++#: .././db/check.c:2172
+ #, c-format
+-msgid "failed to allocate %zd bytes of memory\n"
+-msgstr "nie udało się przydzielić %zd bajtów pamięci\n"
++msgid "extent count for ino %lld %s fork too low (%d) for file format\n"
++msgstr "i-węzeł %lld: liczba ekstentów dla odgałęzienia %s zbyt mała (%d) dla formatu pliku\n"
+-#: .././repair/dino_chunks.c:631
++#: .././db/check.c:2222 .././db/check.c:3153
+ #, c-format
+-msgid "cannot read inode %<PRIu64>, disk block %<PRId64>, cnt %d\n"
+-msgstr "nie można odczytać i-węzła %<PRIu64>, blok dysku %<PRId64>, cnt %d\n"
++msgid "bad directory data magic # %#x for dir ino %lld block %d\n"
++msgstr "błędna liczba magiczna danych katalogu %#x dla i-węzła katalogu %lld, blok %d\n"
+-#: .././repair/dino_chunks.c:747 .././repair/dino_chunks.c:922
++#: .././db/check.c:2239
+ #, c-format
+-msgid "bad state in block map %d\n"
+-msgstr "błędny stan w mapie bloku %d\n"
++msgid "bad block directory tail for dir ino %lld\n"
++msgstr "błędny koniec katalogu bloku dla i-węzła katalogu %lld\n"
+-#: .././repair/dino_chunks.c:751 .././repair/dino_chunks.c:928
++#: .././db/check.c:2284
+ #, c-format
+-msgid "inode block %<PRIu64> multiply claimed, state was %d\n"
+-msgstr "blok i-węzła %<PRIu64> wielokrotnie przydzielony, stan był %d\n"
++msgid "dir %lld block %d bad free entry at %d\n"
++msgstr "katalog %lld, blok %d: błędny wolny wpis pod %d\n"
+-#: .././repair/dino_chunks.c:788
++#: .././db/check.c:2308
+ #, c-format
+-msgid "imap claims in-use inode %<PRIu64> is free, "
+-msgstr "imap twierdzi, że używany i-węzeł %<PRIu64> jest wolny, "
+-
+-#: .././repair/dino_chunks.c:793
+-msgid "correcting imap\n"
+-msgstr "poprawiono imap\n"
+-
+-#: .././repair/dino_chunks.c:795
+-msgid "would correct imap\n"
+-msgstr "imap zostałoby poprawione\n"
++msgid "dir %lld block %d zero length entry at %d\n"
++msgstr "katalog %lld, blok %d: wpis zerowej długości pod %d\n"
+-#: .././repair/dino_chunks.c:841
++#: .././db/check.c:2317
+ #, c-format
+-msgid "cleared root inode %<PRIu64>\n"
+-msgstr "wyczyszczono główny i-węzeł %<PRIu64>\n"
++msgid "dir %lld block %d bad entry at %d\n"
++msgstr "katalog %lld, blok %d: błędny wpis pod %d\n"
+-#: .././repair/dino_chunks.c:845
++#: .././db/check.c:2335
+ #, c-format
+-msgid "would clear root inode %<PRIu64>\n"
+-msgstr "główny węzeł %<PRIu64> zostałby wyczyszczony\n"
++msgid "dir %lld block %d entry %*.*s %lld\n"
++msgstr "katalog %lld, blok %d, wpis %*.*s %lld\n"
+-#: .././repair/dino_chunks.c:853
++#: .././db/check.c:2342
+ #, c-format
+-msgid "cleared realtime bitmap inode %<PRIu64>\n"
+-msgstr "wyczyszczono i-węzeł bitmapy realtime %<PRIu64>\n"
++msgid "dir %lld block %d entry %*.*s bad inode number %lld\n"
++msgstr "katalog %lld, blokd %d, epis %*.*s: błędny number i-węzła %lld\n"
+-#: .././repair/dino_chunks.c:857
++#: .././db/check.c:2352
+ #, c-format
+-msgid "would clear realtime bitmap inode %<PRIu64>\n"
+-msgstr "i-węzeł bitmapy realtime %<PRIu64> zostałby wyczyszczony\n"
++msgid "multiple .. entries in dir %lld (%lld, %lld)\n"
++msgstr "wiele wpisów .. w katalogu %lld (%lld, %lld)\n"
+-#: .././repair/dino_chunks.c:865
++#: .././db/check.c:2369
+ #, c-format
+-msgid "cleared realtime summary inode %<PRIu64>\n"
+-msgstr "wyczyszczono i-węzeł opisu realtime %<PRIu64>\n"
++msgid "dir %lld entry . inode number mismatch (%lld)\n"
++msgstr "katalog %lld, wpis .: niezgodność numeru i-węzła (%lld)\n"
+-#: .././repair/dino_chunks.c:869
++#: .././db/check.c:2382
+ #, c-format
+-msgid "would clear realtime summary inode %<PRIu64>\n"
+-msgstr "i-węzeł opisu realtime %<PRIu64> zostałby wyczyszczony\n"
++msgid "dir %lld block %d bad count %u\n"
++msgstr "katalog %lld, blok %d: błędny licznik %u\n"
+-#: .././repair/dino_chunks.c:873
++#: .././db/check.c:2393 .././db/check.c:3167
+ #, c-format
+-msgid "cleared inode %<PRIu64>\n"
+-msgstr "wyczyszczono i-węzeł %<PRIu64>\n"
++msgid "dir %lld block %d extra leaf entry %x %x\n"
++msgstr "katalog %lld, blok %d: nadmiarowy wpis liścia %x %x\n"
+-#: .././repair/dino_chunks.c:876
++#: .././db/check.c:2405
+ #, c-format
+-msgid "would have cleared inode %<PRIu64>\n"
+-msgstr "i-węzeł %<PRIu64> zostałby wyczyszczony\n"
+-
+-#: .././repair/dino_chunks.c:1083 .././repair/dino_chunks.c:1118
+-#: .././repair/dino_chunks.c:1232
+-msgid "found inodes not in the inode allocation tree\n"
+-msgstr "znaleziono i-węzły nieobecne w drzewie alokacji i-węzłów\n"
++msgid "dir %lld block %d bad bestfree data\n"
++msgstr "katalog %lld, blok %d: błędne dane bestfree\n"
+-#: .././repair/dinode.c:46
++#: .././db/check.c:2412
+ #, c-format
+-msgid "clearing inode %<PRIu64> attributes\n"
+-msgstr "wyczyszczono atrybuty i-węzła %<PRIu64>\n"
++msgid "dir %lld block %d bad block tail count %d (stale %d)\n"
++msgstr "katalog %lld, blok %d: błędny licznik końca bloku %d (stale %d)\n"
+-#: .././repair/dinode.c:49
++#: .././db/check.c:2421
+ #, c-format
+-msgid "would have cleared inode %<PRIu64> attributes\n"
+-msgstr "atrybuty i-węzła %<PRIu64> zostałyby wyczyszczone\n"
++msgid "dir %lld block %d bad stale tail count %d\n"
++msgstr "katalog %lld, blok %d: błędny licznik końca stale %d\n"
+-#: .././repair/dinode.c:424
++#: .././db/check.c:2427
+ #, c-format
+-msgid "inode %<PRIu64> - bad rt extent start block number %<PRIu64>, offset %<PRIu64>\n"
+-msgstr "i-węzeł %<PRIu64> - błędny numer bloku początkowego ekstentu rt %<PRIu64>, offset %<PRIu64>\n"
++msgid "dir %lld block %d consecutive free entries\n"
++msgstr "katalog %lld, blok %d: kolejne wolne wpisy\n"
+-#: .././repair/dinode.c:432
++#: .././db/check.c:2433
+ #, c-format
+-msgid "inode %<PRIu64> - bad rt extent last block number %<PRIu64>, offset %<PRIu64>\n"
+-msgstr "i-węzeł %<PRIu64> - błędny numer bloku końcowego ekstentu rt %<PRIu64>, offset %<PRIu64>\n"
++msgid "dir %lld block %d entry/unused tag mismatch\n"
++msgstr "katalog %lld, blok %d: niezgodność znacznika wpis/nieużywany\n"
+-#: .././repair/dinode.c:440
++#: .././db/check.c:2482
+ #, c-format
+-msgid "inode %<PRIu64> - bad rt extent overflows - start %<PRIu64>, end %<PRIu64>, offset %<PRIu64>\n"
+-msgstr "i-węzeł %<PRIu64> - błędne przepełnienie ekstentu rt - początek %<PRIu64>, koniec %<PRIu64>, offset %<PRIu64>\n"
++msgid "no . entry for directory %lld\n"
++msgstr "brak wpisu . dla katalogu %lld\n"
+-#: .././repair/dinode.c:457
++#: .././db/check.c:2487
+ #, c-format
+-msgid "malformed rt inode extent [%<PRIu64> %<PRIu64>] (fs rtext size = %u)\n"
+-msgstr "zniekształcony ekstent i-węzła rt [%<PRIu64> %<PRIu64>] (rozmiar fs rtext = %u)\n"
++msgid "no .. entry for directory %lld\n"
++msgstr "brak wpisu .. dla katalogu %lld\n"
+-#: .././repair/dinode.c:478
++#: .././db/check.c:2491
+ #, c-format
+-msgid "data fork in rt ino %<PRIu64> claims dup rt extent,off - %<PRIu64>, start - %<PRIu64>, count %<PRIu64>\n"
+-msgstr "gałąź danych w i-węźle rt %<PRIu64> odwołuje się do powtórzonego ekstentu rt, offset %<PRIu64>, początek %<PRIu64>, liczba %<PRIu64>\n"
++msgid ". and .. same for non-root directory %lld\n"
++msgstr ". i .. są takie same dla katalogu %lld (nie będącego głównym)\n"
+-#: .././repair/dinode.c:497
++#: .././db/check.c:2496
+ #, c-format
+-msgid "bad state in rt block map %<PRIu64>\n"
+-msgstr "błędny stan w mapie bloku rt %<PRIu64>\n"
++msgid "root directory %lld has .. %lld\n"
++msgstr "główny katalog %lld ma .. %lld\n"
+-#: .././repair/dinode.c:503
++#: .././db/check.c:2529
+ #, c-format
+-msgid "data fork in rt inode %<PRIu64> found metadata block %<PRIu64> in rt bmap\n"
+-msgstr "gałąź danych w i-węźle rt %<PRIu64> - znaleziono blok metadanych %<PRIu64> w bmapie rt\n"
++msgid "bad size (%lld) or format (%d) for directory inode %lld\n"
++msgstr "błędny rozmiar (%lld) lub format (%d) dla i-węzła katalogu %lld\n"
+-#: .././repair/dinode.c:511
++#: .././db/check.c:2557
+ #, c-format
+-msgid "data fork in rt inode %<PRIu64> claims used rt block %<PRIu64>\n"
+-msgstr "gałąź danych w i-węźle rt %<PRIu64> odwołuje się do używanego bloku rt %<PRIu64>\n"
++msgid "bad number of extents %d for inode %lld\n"
++msgstr "błędna liczba ekstentów %d dla i-węzła %lld\n"
+-#: .././repair/dinode.c:517
++#: .././db/check.c:2629
+ #, c-format
+-msgid "illegal state %d in rt block map %<PRIu64>\n"
+-msgstr "niedozwolony stan %d w mapie bloku rt %<PRIu64>\n"
+-
+-#: .././repair/dinode.c:568 .././repair/dinode.c:1135 .././repair/scan.c:184
+-#: .././db/check.c:2130 .././db/check.c:2142 .././db/check.c:2169
+-#: .././db/bmap.c:216
+-msgid "data"
+-msgstr "danych"
+-
+-#: .././repair/dinode.c:570 .././repair/dinode.c:1137 .././repair/scan.c:186
+-#: .././db/check.c:2130 .././db/check.c:2142 .././db/check.c:2169
+-#: .././db/bmap.c:216
+-msgid "attr"
+-msgstr "atrybutów"
+-
+-#: .././repair/dinode.c:573
+-msgid "real-time"
+-msgstr "realtime"
+-
+-#: .././repair/dinode.c:575
+-msgid "regular"
+-msgstr "zwykłym"
++msgid "bad magic number %#x for inode %lld\n"
++msgstr "błędna liczba magiczna %#x dla i-węzła %lld\n"
+-#: .././repair/dinode.c:585
++#: .././db/check.c:2636
+ #, c-format
+-msgid "bmap rec out of order, inode %<PRIu64> entry %d [o s c] [%<PRIu64> %<PRIu64> %<PRIu64>], %d [%<PRIu64> %<PRIu64> %<PRIu64>]\n"
+-msgstr "rekord bmap uszkodzony, i-węzeł %<PRIu64> wpis %d [o s c] [%<PRIu64> %<PRIu64> %<PRIu64>], %d [%<PRIu64> %<PRIu64> %<PRIu64>]\n"
++msgid "bad version number %#x for inode %lld\n"
++msgstr "błędny numer wersji %#x dla i-węzła %lld\n"
+-#: .././repair/dinode.c:601
++#: .././db/check.c:2644
+ #, c-format
+-msgid "zero length extent (off = %<PRIu64>, fsbno = %<PRIu64>) in ino %<PRIu64>\n"
+-msgstr "ekstent zerowej długości (off = %<PRIu64>, fsbno = %<PRIu64>) w i-węźle %<PRIu64>\n"
++msgid "bad nblocks %lld for free inode %lld\n"
++msgstr "błędna liczba bloków %lld dla wolnego i-węzła %lld\n"
+-#: .././repair/dinode.c:632
++#: .././db/check.c:2655
+ #, c-format
+-msgid "inode %<PRIu64> - bad extent starting block number %<PRIu64>, offset %<PRIu64>\n"
+-msgstr "i-węzeł %<PRIu64> - błędny numer bloku początkowego ekstentu %<PRIu64>, offset %<PRIu64>\n"
++msgid "bad nlink %d for free inode %lld\n"
++msgstr "błądna liczba dowiązań %d dla wolnego i-węzła %lld\n"
+-#: .././repair/dinode.c:640
++#: .././db/check.c:2661
+ #, c-format
+-msgid "inode %<PRIu64> - bad extent last block number %<PRIu64>, offset %<PRIu64>\n"
+-msgstr "i-węzeł %<PRIu64> - błędny numer bloku końcowego ekstentu %<PRIu64>, offset %<PRIu64>\n"
++msgid "bad mode %#o for free inode %lld\n"
++msgstr "błędne uprawnienia %#o dla wolnego i-węzła %lld\n"
+-#: .././repair/dinode.c:648
++#: .././db/check.c:2670
+ #, c-format
+-msgid "inode %<PRIu64> - bad extent overflows - start %<PRIu64>, end %<PRIu64>, offset %<PRIu64>\n"
+-msgstr "i-węzeł %<PRIu64> - błędne przepełnienie ekstentu - początek %<PRIu64>, koniec %<PRIu64>, offset %<PRIu64>\n"
++msgid "bad next unlinked %#x for inode %lld\n"
++msgstr "błędny następny niedowiązany %#x dla i-węzła %lld\n"
+-#: .././repair/dinode.c:658
++#: .././db/check.c:2680
+ #, c-format
+-msgid "inode %<PRIu64> - extent offset too large - start %<PRIu64>, count %<PRIu64>, offset %<PRIu64>\n"
+-msgstr "i-węzeł %<PRIu64> - offset ekstentu zbyt duży - początek %<PRIu64>, liczba %<PRIu64>, offset %<PRIu64>\n"
++msgid "bad format %d for inode %lld type %#o\n"
++msgstr "błędny format %d dla i-węzła %lld typu %#o\n"
+-#: .././repair/dinode.c:678
++#: .././db/check.c:2688
+ #, c-format
+-msgid ""
+-"Fatal error: inode %<PRIu64> - blkmap_set_ext(): %s\n"
+-"\t%s fork, off - %<PRIu64>, start - %<PRIu64>, cnt %<PRIu64>\n"
+-msgstr ""
+-"Błąd krytyczny: i-węzeł %<PRIu64> - blkmap_set_ext(): %s\n"
+-"\tgałąź %s, offset %<PRIu64>, początek %<PRIu64>, liczba %<PRIu64>\n"
++msgid "bad fork offset %d for inode %lld\n"
++msgstr "błędny offset odgałęzienia %d dla i-węzła %lld\n"
+-#: .././repair/dinode.c:709
++#: .././db/check.c:2695
+ #, c-format
+-msgid "%s fork in ino %<PRIu64> claims dup extent, off - %<PRIu64>, start - %<PRIu64>, cnt %<PRIu64>\n"
+-msgstr "gałąź %s w i-węźle %<PRIu64> odwołuje się do powtórzonego ekstentu, offset %<PRIu64>, początek %<PRIu64>, liczba %<PRIu64>\n"
++msgid "bad attribute format %d for inode %lld\n"
++msgstr "błędny format atrybutu %d dla i-węzła %lld\n"
+-#: .././repair/dinode.c:728
++#: .././db/check.c:2701
+ #, c-format
+-msgid "%s fork in ino %<PRIu64> claims free block %<PRIu64>\n"
+-msgstr "gałąź %s w i-węźle %<PRIu64> odwołuje się do wolnego bloku %<PRIu64>\n"
++msgid "inode %lld mode %#o fmt %s afmt %s nex %d anex %d nblk %lld sz %lld%s%s%s%s%s%s%s\n"
++msgstr "i-węzeł %lld mode %#o fmt %s afmt %s nex %d anex %d nblk %lld sz %lld%s%s%s%s%s%s%s\n"
+-#: .././repair/dinode.c:736
++#: .././db/check.c:2822
+ #, c-format
+-msgid "bad state in block map %<PRIu64>\n"
+-msgstr "błędny stan w mapie bloku %<PRIu64>\n"
++msgid "bad nblocks %lld for inode %lld, counted %lld\n"
++msgstr "błędna liczba bloków %lld dla i-węzła %lld, naliczono %lld\n"
+-#: .././repair/dinode.c:742
++#: .././db/check.c:2829
+ #, c-format
+-msgid "%s fork in inode %<PRIu64> claims metadata block %<PRIu64>\n"
+-msgstr "gałąź %s w i-węźle %<PRIu64> odwołuje się do bloku metadanych %<PRIu64>\n"
++msgid "bad nextents %d for inode %lld, counted %d\n"
++msgstr "błędna liczba ekstentów %d dla i-węzła %lld, naliczono %d\n"
+-#: .././repair/dinode.c:750
++#: .././db/check.c:2835
+ #, c-format
+-msgid "%s fork in %s inode %<PRIu64> claims used block %<PRIu64>\n"
+-msgstr "gałąź %s w i-węźle %s %<PRIu64> odwołuje się do używanego bloku %<PRIu64>\n"
++msgid "bad anextents %d for inode %lld, counted %d\n"
++msgstr "błędne anextents %d dla i-węzła %lld, naliczono %d\n"
+-#: .././repair/dinode.c:756
++#: .././db/check.c:2887
+ #, c-format
+-msgid "illegal state %d in block map %<PRIu64>\n"
+-msgstr "niedozwolony stan %d w mapie bloku %<PRIu64>\n"
++msgid "local inode %lld data is too large (size %lld)\n"
++msgstr "dane lokalnego i-węzła %lld zbyt duże (rozmiar %lld)\n"
+-#: .././repair/dinode.c:769
++#: .././db/check.c:2896
+ #, c-format
+-msgid "correcting nextents for inode %<PRIu64>\n"
+-msgstr "poprawiono nextents dla i-węzła %<PRIu64>\n"
++msgid "local inode %lld attr is too large (size %d)\n"
++msgstr "atrybuty lokalnego i-węzła %lld zbyt duże (rozmiar %d)\n"
+-#: .././repair/dinode.c:841
++#: .././db/check.c:2945
+ #, c-format
+-msgid "cannot read inode (%u/%u), disk block %<PRIu64>\n"
+-msgstr "nie można odczytać i-węzła (%u/%u), blok dysku %<PRIu64>\n"
++msgid "dir inode %lld block %u=%llu\n"
++msgstr "i-węzeł katalogu %lld, blok %u=%llu\n"
+-#: .././repair/dinode.c:952 .././repair/dinode.c:1009
++#: .././db/check.c:2957
+ #, c-format
+-msgid "cannot read bmap block %<PRIu64>\n"
+-msgstr "nie można odczytać bloku bmap %<PRIu64>\n"
++msgid "can't read block %u for directory inode %lld\n"
++msgstr "nie można odczytać bloku %u dla i-węzła katalogu %lld\n"
+-#: .././repair/dinode.c:973
++#: .././db/check.c:2971
+ #, c-format
+-msgid "# of bmap records in inode %<PRIu64> exceeds max (%u, max - %u)\n"
+-msgstr "liczba rekordów bmap w i-węźle %<PRIu64> przekracza maksimum (%u, maksimum %u)\n"
++msgid "multiple .. entries in dir %lld\n"
++msgstr "wiele wpisów .. w katalogu %lld\n"
+-#: .././repair/dinode.c:981
++#: .././db/check.c:2993
+ #, c-format
+-msgid "- # of bmap records in inode %<PRIu64> less than minimum (%u, min - %u), proceeding ...\n"
+-msgstr "- liczba rekordów bmap w i-węźle %<PRIu64> mniejsza niż minimum (%u, minimum %u), kontynuacja...\n"
++msgid "missing free index for data block %d in dir ino %lld\n"
++msgstr "brak indeksu wolnego miejsca dla bloku danych %d w i-węźle katalogu %lld\n"
+-#: .././repair/dinode.c:1023
++#: .././db/check.c:3019
+ #, c-format
+-msgid "# of bmap records in inode %<PRIu64> greater than maximum (%u, max - %u)\n"
+-msgstr "liczba rekordów bmap w i-węźle %<PRIu64> większa niż maksimum (%u, maksimum %u)\n"
++msgid "bad free block magic # %#x for dir ino %lld block %d\n"
++msgstr "błędna liczba magiczna wolnego bloku %#x dla i-węzła katalogu %lld, blok %d\n"
+-#: .././repair/dinode.c:1030
++#: .././db/check.c:3029
+ #, c-format
+-msgid "- # of bmap records in inode %<PRIu64> less than minimum (%u, min - %u), continuing...\n"
+-msgstr "- liczba rekordów bmap w i-węźle %<PRIu64> mniejsza niż minimum (%u, minimum %u), kontynuacja...\n"
++msgid "bad free block firstdb %d for dir ino %lld block %d\n"
++msgstr "błędne firstdb wolnego bloku %d dla i-węzła katalogu %lld, blok %d\n"
+-#: .././repair/dinode.c:1046
++#: .././db/check.c:3042
+ #, c-format
+-msgid "could not map block %<PRIu64>\n"
+-msgstr "nie udało się odwzorować bloku %<PRIu64>\n"
++msgid "bad free block nvalid/nused %d/%d for dir ino %lld block %d\n"
++msgstr "błędne liczby nvalid/nused (%d/%d) wolnych bloków w i-węźle katalogu %lld, blok %d\n"
+-#: .././repair/dinode.c:1080
++#: .././db/check.c:3056
+ #, c-format
+-msgid "get_bmapi() called for local inode %<PRIu64>\n"
+-msgstr "get_bmapi() wywołano dla lokalnego i-węzła %<PRIu64>\n"
++msgid "bad free block ent %d is %d should be %d for dir ino %lld block %d\n"
++msgstr "błędna liczba ent %d (równa %d, powinna być %d) wolnego bloku w i-węźle katalogu %lld, blok %d\n"
+-#: .././repair/dinode.c:1088
++#: .././db/check.c:3070
+ #, c-format
+-msgid "bad inode format for inode %<PRIu64>\n"
+-msgstr "błędny format i-węzła dla i-węzła %<PRIu64>\n"
++msgid "bad free block nused %d should be %d for dir ino %lld block %d\n"
++msgstr "błędna liczba nused (%d, powinna być %d) wolnego bloku w i-węźle katalogu %lld, blok %d\n"
+-#: .././repair/dinode.c:1152
++#: .././db/check.c:3100
+ #, c-format
+-msgid "bad level %d in inode %<PRIu64> bmap btree root block\n"
+-msgstr "błędny poziom %d w bloku głównym bmap btree i-węzła %<PRIu64>\n"
+-
+-#: .././repair/dinode.c:1158
+-#, c-format
+-msgid "bad numrecs 0 in inode %<PRIu64> bmap btree root block\n"
+-msgstr "błędne numrecs 0 w bloku głównym bmap btree i-węzła %<PRIu64>\n"
++msgid "bad leaf block forw/back pointers %d/%d for dir ino %lld block %d\n"
++msgstr "błędne wskaźniki przód/tył (%d/%d) bloku liścia w i-węźle katalogu %lld, blok %d\n"
+-#: .././repair/dinode.c:1167
++#: .././db/check.c:3109
+ #, c-format
+-msgid "indicated size of %s btree root (%d bytes) greater than space in inode %<PRIu64> %s fork\n"
+-msgstr "oznaczony rozmiar korzenia b-drzewa %s (%d bajtów) większy niż miejsce w i-węźle %<PRIu64> gałęzi %s\n"
++msgid "single leaf block for dir ino %lld block %d should be at block %d\n"
++msgstr "blok pojedynczego liścia dla i-węzłu katalogu %lld, blok %d powinien być w bloku %d\n"
+-#: .././repair/dinode.c:1187 .././repair/scan.c:406
++#: .././db/check.c:3121
+ #, c-format
+-msgid "bad bmap btree ptr 0x%llx in ino %<PRIu64>\n"
+-msgstr "błędny wskaźnik bmap btree 0x%llx w i-węźle %<PRIu64>\n"
++msgid "bestfree %d for dir ino %lld block %d doesn't match table value %d\n"
++msgstr "bestfree %d dla i-węzła katalogu %lld, blok %d nie zgadza się z wartością w tablicy %d\n"
+-#: .././repair/dinode.c:1206
++#: .././db/check.c:3144
+ #, c-format
+-msgid "correcting key in bmbt root (was %llu, now %<PRIu64>) in inode %<PRIu64> %s fork\n"
+-msgstr "poprawiono klucz w korzeniu bmbt (był %llu, jest %<PRIu64>) w i-węźle %<PRIu64> gałęzi %s\n"
++msgid "bad node block level %d for dir ino %lld block %d\n"
++msgstr "błędny poziom bloku węzła %d dla i-węzła katalogu %lld, blok %d\n"
+-#: .././repair/dinode.c:1218
++#: .././db/check.c:3176
+ #, c-format
+-msgid "bad key in bmbt root (is %llu, would reset to %<PRIu64>) in inode %<PRIu64> %s fork\n"
+-msgstr "błędny klucz w korzeniu bmbt (jest %llu, zostałby przestawiony na %<PRIu64>) w i-węźle %<PRIu64> gałęzi %s\n"
++msgid "dir %lld block %d stale mismatch %d/%d\n"
++msgstr "katalog %lld, blok %d: niezgodność liczby stale %d/%d\n"
+-#: .././repair/dinode.c:1235
++#: .././db/check.c:3232
+ #, c-format
+-msgid "out of order bmbt root key %<PRIu64> in inode %<PRIu64> %s fork\n"
+-msgstr "niepoprawny klucz korzenia bmbt %<PRIu64> w i-węźle %<PRIu64> gałęzi %s\n"
++msgid "can't read block %lld for %s quota inode (fsblock %lld)\n"
++msgstr "nie można odczytać bloku %lld i-węzła limitów %s (blok fs %lld)\n"
+-#: .././repair/dinode.c:1252
++#: .././db/check.c:3242
+ #, c-format
+-msgid "extent count for ino %<PRIu64> %s fork too low (%<PRIu64>) for file format\n"
+-msgstr "i-węzeł %<PRIu64>: liczba ekstentów dla odgałęzienia %s zbyt mała (%<PRIu64>) dla formatu pliku\n"
++msgid "%s dqblk %lld entry %d id %u bc %lld ic %lld rc %lld\n"
++msgstr "%s dqblk %lld wpis %d id %u bc %lld ic %lld rc %lld\n"
+-#: .././repair/dinode.c:1263
++#: .././db/check.c:3250
+ #, c-format
+-msgid "bad fwd (right) sibling pointer (saw %<PRIu64> should be NULLDFSBNO)\n"
+-msgstr "błędny wskaźnik fwd (prawy) (widziano %<PRIu64>, powinno być NULLDFSBNO)\n"
++msgid "bad magic number %#x for %s dqblk %lld entry %d id %u\n"
++msgstr "błędna liczba magiczna %#x dla dqblk %s %lld, wpis %d, id %u\n"
+-#: .././repair/dinode.c:1266
++#: .././db/check.c:3259
+ #, c-format
+-msgid "\tin inode %<PRIu64> (%s fork) bmap btree block %<PRIu64>\n"
+-msgstr "\tw i-węźle %<PRIu64> (gałęzi %s) bloku bmap btree %<PRIu64>\n"
++msgid "bad version number %#x for %s dqblk %lld entry %d id %u\n"
++msgstr "błędny numer wersji %#x dla dqblk %s %lld, wpis %d, id %u\n"
+-#: .././repair/dinode.c:1339
++#: .././db/check.c:3269
+ #, c-format
+-msgid "local inode %<PRIu64> data fork is too large (size = %lld, max = %d)\n"
+-msgstr "gałąź danych lokalnego i-węzła %<PRIu64> zbyt duża (rozmiar = %lld, maksimum = %d)\n"
++msgid "bad flags %#x for %s dqblk %lld entry %d id %u\n"
++msgstr "błędne flagi %#x dla dqblk %s %lld, wpis %d, id %u\n"
+-#: .././repair/dinode.c:1347
++#: .././db/check.c:3278
+ #, c-format
+-msgid "local inode %<PRIu64> attr fork too large (size %d, max = %d)\n"
+-msgstr "gałąź atrybutów lokalnego i-węzła %<PRIu64> zbyt duża (rozmiar %d, maksimum = %d)\n"
++msgid "bad id %u for %s dqblk %lld entry %d id %u\n"
++msgstr "błędne id %u dla dqblk %s %lld, wpis %d, id %u\n"
+-#: .././repair/dinode.c:1354
++#: .././db/check.c:3324
+ #, c-format
+-msgid "local inode %<PRIu64> attr too small (size = %d, min size = %zd)\n"
+-msgstr "gałąź atrybutów lokalnego i-węzła %<PRIu64> zbyt mała (rozmiar = %d, minimum = %zd)\n"
++msgid "block %lld for rtbitmap inode is missing\n"
++msgstr "brak bloku %lld dla i-węzła rtbitmapy\n"
+-#: .././repair/dinode.c:1378
++#: .././db/check.c:3335
+ #, c-format
+-msgid "mismatch between format (%d) and size (%<PRId64>) in symlink ino %<PRIu64>\n"
+-msgstr "niezgodność między formatem (%d) a rozmiarem (%<PRId64>) w i-węźle dowiązania symbolicznego %<PRIu64>\n"
++msgid "can't read block %lld for rtbitmap inode\n"
++msgstr "nie można odczytać bloku %lld dla i-węzła rtbitmapy\n"
+-#: .././repair/dinode.c:1385
++#: .././db/check.c:3391
+ #, c-format
+-msgid "mismatch between format (%d) and size (%<PRId64>) in symlink inode %<PRIu64>\n"
+-msgstr "niezgodność między formatem (%d) a rozmiarem (%<PRId64>) w i-węźle dowiązania symbolicznego %<PRIu64>\n"
++msgid "block %lld for rtsummary inode is missing\n"
++msgstr "brak bloku %lld dla i-węzła rtsummary\n"
+-#: .././repair/dinode.c:1400
++#: .././db/check.c:3402
+ #, c-format
+-msgid "bad number of extents (%d) in symlink %<PRIu64> data fork\n"
+-msgstr "błędna liczba ekstentów (%d) w gałęzi danych dowiązania symbolicznego %<PRIu64>\n"
++msgid "can't read block %lld for rtsummary inode\n"
++msgstr "nie można odczytać bloku %lld dla i-węzła rtsummary\n"
+-#: .././repair/dinode.c:1413
++#: .././db/check.c:3435
+ #, c-format
+-msgid "bad extent #%d offset (%<PRIu64>) in symlink %<PRIu64> data fork\n"
+-msgstr "błędny offset ekstentu %d (%<PRIu64>) w gałęzi danych dowiązania symbolicznego %<PRIu64>\n"
++msgid "dir %lld entry . %lld\n"
++msgstr "katalog %lld, wpis . %lld\n"
+-#: .././repair/dinode.c:1419
++#: .././db/check.c:3443
+ #, c-format
+-msgid "bad extent #%d count (%<PRIu64>) in symlink %<PRIu64> data fork\n"
+-msgstr "błędna liczba ekstentów #%d (%<PRIu64>) w gałęzi danych dowiązania symbolicznego %<PRIu64>\n"
++msgid "dir %llu bad size in entry at %d\n"
++msgstr "katalog %llu: błędny rozmiar we wpisie przy %d\n"
+-#: .././repair/dinode.c:1474
++#: .././db/check.c:3455
+ #, c-format
+-msgid "symlink in inode %<PRIu64> too long (%llu chars)\n"
+-msgstr "dowiązanie symboliczne w i-węźle %<PRIu64> zbyt długie (%llu znaków)\n"
++msgid "dir %lld entry %*.*s bad inode number %lld\n"
++msgstr "katalog %lld wpis %*.*s: błędny numer i-węzła %lld\n"
+-#: .././repair/dinode.c:1507
++#: .././db/check.c:3467
+ #, c-format
+-msgid "cannot read inode %<PRIu64>, file block %d, disk block %<PRIu64>\n"
+-msgstr "nie można odczytać i-węzła %<PRIu64>, blok pliku %d, blok dysku %<PRIu64>\n"
++msgid "dir %lld entry %*.*s offset %d %lld\n"
++msgstr "katalog %lld wpis %*.*s offset %d %lld\n"
+-#: .././repair/dinode.c:1529
++#: .././db/check.c:3472
+ #, c-format
+-msgid "found illegal null character in symlink inode %<PRIu64>\n"
+-msgstr "znaleziono niedozwolony znak null w i-węźle dowiązania symbolicznego %<PRIu64>\n"
++msgid "dir %lld entry %*.*s bad offset %d\n"
++msgstr "katalog %lld wpis %*.*s błędny offset %d\n"
+-#: .././repair/dinode.c:1543 .././repair/dinode.c:1553
++#: .././db/check.c:3485
+ #, c-format
+-msgid "component of symlink in inode %<PRIu64> too long\n"
+-msgstr "składnik dowiązania symbolicznego w i-węźle %<PRIu64> zbyt długi\n"
++msgid "dir %llu size is %lld, should be %u\n"
++msgstr "katalog %llu: rozmiar %lld, powinien być %u\n"
+-#: .././repair/dinode.c:1579
++#: .././db/check.c:3493
+ #, c-format
+-msgid "inode %<PRIu64> has bad inode type (IFMNT)\n"
+-msgstr "i-węzeł %<PRIu64> ma błędny typ i-węzła (IFMNT)\n"
++msgid "dir %llu offsets too high\n"
++msgstr "katalog %llu: offsety zbyt duże\n"
+-#: .././repair/dinode.c:1590
++#: .././db/check.c:3504
+ #, c-format
+-msgid "size of character device inode %<PRIu64> != 0 (%<PRId64> bytes)\n"
+-msgstr "rozmiar i-węzła urządzenia znakowego %<PRIu64> != 0 (%<PRId64> bajtów)\n"
++msgid "dir %lld entry .. bad inode number %lld\n"
++msgstr "katalog %lld wpis .. - błędny numer i-węzła %lld\n"
+-#: .././repair/dinode.c:1595
++#: .././db/check.c:3509
+ #, c-format
+-msgid "size of block device inode %<PRIu64> != 0 (%<PRId64> bytes)\n"
+-msgstr "rozmiar i-węzła urządzenia blokowego %<PRIu64> != 0 (%<PRId64> bajtów)\n"
++msgid "dir %lld entry .. %lld\n"
++msgstr "katalog %lld wpis .. %lld\n"
+-#: .././repair/dinode.c:1600
++#: .././db/check.c:3512
+ #, c-format
+-msgid "size of socket inode %<PRIu64> != 0 (%<PRId64> bytes)\n"
+-msgstr "rozmiar i-węzła gniazda %<PRIu64> != 0 (%<PRId64> bajtów)\n"
++msgid "dir %lld i8count mismatch is %d should be %d\n"
++msgstr "katalog %lld: niezgodność i8count: jest %d, powinno być %d\n"
+-#: .././repair/dinode.c:1605
++#: .././db/check.c:3594
+ #, c-format
+-msgid "size of fifo inode %<PRIu64> != 0 (%<PRId64> bytes)\n"
+-msgstr "rozmiar i-węzła potoku %<PRIu64> != 0 (%<PRId64> bajtów)\n"
++msgid "%s quota id %u, have/exp"
++msgstr "limit %s id %u: jest/exp"
+-#: .././repair/dinode.c:1609
++#: .././db/check.c:3597
+ #, c-format
+-msgid "Internal error - process_misc_ino_types, illegal type %d\n"
+-msgstr "Błąd wewnętrzny - process_misc_ino_types, niedozwolony typ %d\n"
++msgid " bc %lld/%lld"
++msgstr " bc %lld/%lld"
+-#: .././repair/dinode.c:1636
++#: .././db/check.c:3601
+ #, c-format
+-msgid "size of character device inode %<PRIu64> != 0 (%<PRIu64> blocks)\n"
+-msgstr "rozmiar i-węzła urządzenia znakowego %<PRIu64> != 0 (%<PRIu64> bloków)\n"
++msgid " ic %lld/%lld"
++msgstr " ic %lld/%lld"
+-#: .././repair/dinode.c:1641
++#: .././db/check.c:3605
+ #, c-format
+-msgid "size of block device inode %<PRIu64> != 0 (%<PRIu64> blocks)\n"
+-msgstr "rozmiar i-węzła urządzenia blokowego %<PRIu64> != 0 (%<PRIu64> bloków)\n"
++msgid " rc %lld/%lld"
++msgstr " rc %lld/%lld"
+-#: .././repair/dinode.c:1646
++#: .././db/check.c:3661
+ #, c-format
+-msgid "size of socket inode %<PRIu64> != 0 (%<PRIu64> blocks)\n"
+-msgstr "rozmiar i-węzła gniazda %<PRIu64> != 0 (%<PRIu64> bloków)\n"
++msgid "can't read superblock for ag %u\n"
++msgstr "nie można odczytać superbloku dla ag %u\n"
+-#: .././repair/dinode.c:1651
++#: .././db/check.c:3670
+ #, c-format
+-msgid "size of fifo inode %<PRIu64> != 0 (%<PRIu64> blocks)\n"
+-msgstr "rozmiar i-węzła potoku %<PRIu64> != 0 (%<PRIu64> bloków)\n"
++msgid "bad sb magic # %#x in ag %u\n"
++msgstr "błędna liczba magiczna %#x superbloku w ag %u\n"
+-#: .././repair/dinode.c:1729
++#: .././db/check.c:3676
+ #, c-format
+-msgid "root inode %<PRIu64> has bad type 0x%x\n"
+-msgstr "i-węzeł główny %<PRIu64> ma błędny typ 0x%x\n"
+-
+-#: .././repair/dinode.c:1733
+-msgid "resetting to directory\n"
+-msgstr "przestawiono na katalog\n"
++msgid "bad sb version # %#x in ag %u\n"
++msgstr "błędny numer wersji %#x superbloku w ag %u\n"
+-#: .././repair/dinode.c:1737
+-msgid "would reset to directory\n"
+-msgstr "zostałby przestawiony na katalog\n"
++#: .././db/check.c:3686 .././db/sb.c:213
++msgid "mkfs not completed successfully\n"
++msgstr "mkfs nie zakończony pomyślnie\n"
+-#: .././repair/dinode.c:1743
++#: .././db/check.c:3698 .././db/frag.c:366
+ #, c-format
+-msgid "user quota inode %<PRIu64> has bad type 0x%x\n"
+-msgstr "i-węzeł limitu użytkownika %<PRIu64> ma błędny typ 0x%x\n"
++msgid "can't read agf block for ag %u\n"
++msgstr "nie można odczytać bloku agf dla ag %u\n"
+-#: .././repair/dinode.c:1752
++#: .././db/check.c:3704
+ #, c-format
+-msgid "group quota inode %<PRIu64> has bad type 0x%x\n"
+-msgstr "i-węzeł limitu grupy %<PRIu64> ma błędny typ 0x%x\n"
++msgid "bad agf magic # %#x in ag %u\n"
++msgstr "błędna liczba magiczna agf %#x w ag %u\n"
+-#: .././repair/dinode.c:1762
++#: .././db/check.c:3710
+ #, c-format
+-msgid "realtime summary inode %<PRIu64> has bad type 0x%x, "
+-msgstr "i-węzeł opisu realtime %<PRIu64> ma błędny typ 0x%x, "
++msgid "bad agf version # %#x in ag %u\n"
++msgstr "błędny numer wersji agf %#x w ag %u\n"
+-#: .././repair/dinode.c:1765 .././repair/dinode.c:1786
+-msgid "resetting to regular file\n"
+-msgstr "przestawiono na zwykły plik\n"
++#: .././db/check.c:3726 .././db/frag.c:375
++#, c-format
++msgid "can't read agi block for ag %u\n"
++msgstr "nie można odczytać bloku agi w ag %u\n"
+-#: .././repair/dinode.c:1769 .././repair/dinode.c:1790
+-msgid "would reset to regular file\n"
+-msgstr "zostałby przestawiony na zwykły plik\n"
++#: .././db/check.c:3732
++#, c-format
++msgid "bad agi magic # %#x in ag %u\n"
++msgstr "błędna liczba magiczna agi %#x w ag %u\n"
+-#: .././repair/dinode.c:1774
++#: .././db/check.c:3738
+ #, c-format
+-msgid "bad # of extents (%u) for realtime summary inode %<PRIu64>\n"
+-msgstr "błędna liczba ekstentów (%u) dla i-węzłą opisu realtime %<PRIu64>\n"
++msgid "bad agi version # %#x in ag %u\n"
++msgstr "błędny numer wersji agi # %#x w ag %u\n"
+-#: .././repair/dinode.c:1783
++#: .././db/check.c:3763 .././repair/scan.c:1163
+ #, c-format
+-msgid "realtime bitmap inode %<PRIu64> has bad type 0x%x, "
+-msgstr "i-węzeł bitmapy realtime %<PRIu64> ma błędny typ 0x%x, "
++msgid "agf_freeblks %u, counted %u in ag %u\n"
++msgstr "agf_freeblks %u, naliczono %u w ag %u\n"
+-#: .././repair/dinode.c:1795
++#: .././db/check.c:3770 .././repair/scan.c:1168
+ #, c-format
+-msgid "bad # of extents (%u) for realtime bitmap inode %<PRIu64>\n"
+-msgstr "błędna liczba ekstentów (%u) dla i-węzłą bitmapy realtime %<PRIu64>\n"
++msgid "agf_longest %u, counted %u in ag %u\n"
++msgstr "agf_longest %u, naliczono %u w ag %u\n"
+-#: .././repair/dinode.c:1830
++#: .././db/check.c:3778
+ #, c-format
+-msgid "mismatch between format (%d) and size (%<PRId64>) in directory ino %<PRIu64>\n"
+-msgstr "niezgodność między formatem (%d) a rozmiarem (%<PRId64>) w i-węźle katalogu %<PRIu64>\n"
++msgid "agf_btreeblks %u, counted %u in ag %u\n"
++msgstr "agf_btreeblks %u, naliczono %u w ag %u\n"
+-#: .././repair/dinode.c:1836
++#: .././db/check.c:3786 .././repair/scan.c:1202
+ #, c-format
+-msgid "directory inode %<PRIu64> has bad size %<PRId64>\n"
+-msgstr "i-węzeł katalogu %<PRIu64> ma błędny rozmiar %<PRId64>\n"
++msgid "agi_count %u, counted %u in ag %u\n"
++msgstr "agi_count %u, naliczono %u w ag %u\n"
+-#: .././repair/dinode.c:1844
++#: .././db/check.c:3793 .././repair/scan.c:1207
+ #, c-format
+-msgid "bad data fork in symlink %<PRIu64>\n"
+-msgstr "błędna gałąź danych w dowiązaniu symbolicznym %<PRIu64>\n"
++msgid "agi_freecount %u, counted %u in ag %u\n"
++msgstr "agi_freecount %u, naliczono %u w ag %u\n"
+-#: .././repair/dinode.c:1865
++#: .././db/check.c:3802
+ #, c-format
+-msgid "found inode %<PRIu64> claiming to be a real-time file\n"
+-msgstr "znaleziono i-węzeł %<PRIu64> twierdzący, że należy do pliku realtime\n"
++msgid "agi unlinked bucket %d is %u in ag %u (inode=%lld)\n"
++msgstr "agi unlinked bucket %d is %u in ag %u (inode=%lld)\n"
+-#: .././repair/dinode.c:1874
++#: .././db/check.c:3840
+ #, c-format
+-msgid "realtime bitmap inode %<PRIu64> has bad size %<PRId64> (should be %<PRIu64>)\n"
+-msgstr "i-węzeł bitmapy realtime %<PRIu64> ma błędny rozmiar %<PRId64> (powinien być %<PRIu64>)\n"
++msgid "can't read agfl block for ag %u\n"
++msgstr "nie można odczytać bloku agfl dla ag %u\n"
+-#: .././repair/dinode.c:1885
++#: .././db/check.c:3850 .././db/freesp.c:255 .././repair/scan.c:1099
+ #, c-format
+-msgid "realtime summary inode %<PRIu64> has bad size %<PRId64> (should be %d)\n"
+-msgstr "i-węzeł opisu realtime %<PRIu64> ma błędny rozmiar %<PRId64> (powinien być %d)\n"
++msgid "agf %d freelist blocks bad, skipping freelist scan\n"
++msgstr "błędne bloki listy wolnych agf %d, pominięto przeszukanie listy wolnych\n"
+-#: .././repair/dinode.c:1913
++#: .././db/check.c:3872
+ #, c-format
+-msgid "bad attr fork offset %d in dev inode %<PRIu64>, should be %d\n"
+-msgstr "błędny offset gałęzi atrybutów %d w i-węźle urządzenia %<PRIu64>, powinien być %d\n"
++msgid "freeblk count %u != flcount %u in ag %u\n"
++msgstr "liczba freeblk %u != flcount %u w ag %u\n"
+-#: .././repair/dinode.c:1924
++#: .././db/check.c:3901 .././db/check.c:3929 .././db/frag.c:398
++#: .././db/frag.c:421 .././db/freesp.c:289
+ #, c-format
+-msgid "bad attr fork offset %d in inode %<PRIu64>, max=%d\n"
+-msgstr "błędny offset gałęzi atrybutów %d w i-węźle %<PRIu64>, maksimum=%d\n"
++msgid "can't read btree block %u/%u\n"
++msgstr "nie można odczytać bloku b-drzewa %u/%u\n"
+-#: .././repair/dinode.c:1931
++#: .././db/check.c:3962
+ #, c-format
+-msgid "unexpected inode format %d\n"
+-msgstr "nieoczekiwany format i-węzła %d\n"
++msgid "bad magic # %#x in inode %lld bmbt block %u/%u\n"
++msgstr "błędna liczba magiczna %#x w i-węźle %lld, blok bmbt %u/%u\n"
+-#: .././repair/dinode.c:1952
++#: .././db/check.c:3969
+ #, c-format
+-msgid "correcting nblocks for inode %<PRIu64>, was %llu - counted %<PRIu64>\n"
+-msgstr "poprawiono nblocks dla i-węzła %<PRIu64> - było %llu, naliczono %<PRIu64>\n"
++msgid "expected level %d got %d in inode %lld bmbt block %u/%u\n"
++msgstr "oczekiwano poziomu %d, a uzyskano %d w i-węźle %lld, blok bmbt %u/%u\n"
+-#: .././repair/dinode.c:1959
++#: .././db/check.c:3981 .././db/check.c:3998
+ #, c-format
+-msgid "bad nblocks %llu for inode %<PRIu64>, would reset to %<PRIu64>\n"
+-msgstr "błędne nblocks %llu dla i-węzła %<PRIu64>, zostałoby przestawione na %<PRIu64>\n"
++msgid "bad btree nrecs (%u, min=%u, max=%u) in inode %lld bmap block %lld\n"
++msgstr "błędna liczba rekordów b-drzewa (%u, min=%u, max=%u) w i-węźle %lld, blok bitmapy %lld\n"
+-#: .././repair/dinode.c:1967
++#: .././db/check.c:4026
+ #, c-format
+-msgid "too many data fork extents (%<PRIu64>) in inode %<PRIu64>\n"
+-msgstr "zbyt dużo ekstentów gałęzi danych (%<PRIu64>) w i-węźle %<PRIu64>\n"
++msgid "bad magic # %#x in btbno block %u/%u\n"
++msgstr "błędna liczba magiczna %#x w bloku btbno %u/%u\n"
+-#: .././repair/dinode.c:1974
++#: .././db/check.c:4035
+ #, c-format
+-msgid "correcting nextents for inode %<PRIu64>, was %d - counted %<PRIu64>\n"
+-msgstr "poprawiono nextents dla i-węzła %<PRIu64> - było %d, naliczono %<PRIu64>\n"
++msgid "expected level %d got %d in btbno block %u/%u\n"
++msgstr "oczekiwano poziomu %d, a uzyskano %d w bloku btbno %u/%u\n"
+-#: .././repair/dinode.c:1982
++#: .././db/check.c:4044 .././db/check.c:4072 .././db/check.c:4117
++#: .././db/check.c:4148
+ #, c-format
+-msgid "bad nextents %d for inode %<PRIu64>, would reset to %<PRIu64>\n"
+-msgstr "błędne nextents %d dla i-węzła %<PRIu64>, zostałoby przestawione na %<PRIu64>\n"
++msgid "bad btree nrecs (%u, min=%u, max=%u) in btbno block %u/%u\n"
++msgstr "błędna liczba rekordów b-drzewa (%u, min=%u, max=%u) w bloku btbno %u/%u\n"
+-#: .././repair/dinode.c:1990
++#: .././db/check.c:4059 .././repair/scan.c:629
+ #, c-format
+-msgid "too many attr fork extents (%<PRIu64>) in inode %<PRIu64>\n"
+-msgstr "zbyt dużo ekstentów gałęzi atrybutów (%<PRIu64>) w i-węźle %<PRIu64>\n"
++msgid "out-of-order bno btree record %d (%u %u) block %u/%u\n"
++msgstr "rekord b-drzewa bno poza kolejnością: %d (%u %u), blok %u/%u\n"
+-#: .././repair/dinode.c:1997
++#: .././db/check.c:4099
+ #, c-format
+-msgid "correcting anextents for inode %<PRIu64>, was %d - counted %<PRIu64>\n"
+-msgstr "poprawiono anextents dla i-węzła %<PRIu64> - było %d, naliczono %<PRIu64>\n"
++msgid "bad magic # %#x in btcnt block %u/%u\n"
++msgstr "błędna liczba magiczna %#x w bloku btcbt %u/%u\n"
+-#: .././repair/dinode.c:2004
++#: .././db/check.c:4108
+ #, c-format
+-msgid "bad anextents %d for inode %<PRIu64>, would reset to %<PRIu64>\n"
+-msgstr "błędne anextents %d dla i-węzła %<PRIu64>, zostałoby przestawione na %<PRIu64>\n"
++msgid "expected level %d got %d in btcnt block %u/%u\n"
++msgstr "oczekiwano poziomu %d, a uzyskano %d w bloku btcnt %u/%u\n"
+-#: .././repair/dinode.c:2016
++#: .././db/check.c:4136 .././repair/scan.c:641
+ #, c-format
+-msgid "nblocks (%<PRIu64>) smaller than nextents for inode %<PRIu64>\n"
+-msgstr "nblocks (%<PRIu64>) mniejsze niż nextents dla i-węzła %<PRIu64>\n"
++msgid "out-of-order cnt btree record %d (%u %u) block %u/%u\n"
++msgstr "rekord b-drzewa cnt poza kolejnością: %d (%u %u), blok %u/%u\n"
+-#: .././repair/dinode.c:2069 .././repair/dinode.c:2107
++#: .././db/check.c:4179
+ #, c-format
+-msgid "unknown format %d, ino %<PRIu64> (mode = %d)\n"
+-msgstr "nieznany format %d, i-węzeł %<PRIu64> (tryb = %d)\n"
++msgid "bad magic # %#x in inobt block %u/%u\n"
++msgstr "błędna liczba magiczna %#x w bloku inobt %u/%u\n"
+-#: .././repair/dinode.c:2074
++#: .././db/check.c:4186
+ #, c-format
+-msgid "bad data fork in inode %<PRIu64>\n"
+-msgstr "błędna gałąź danych w i-węźle %<PRIu64>\n"
++msgid "expected level %d got %d in inobt block %u/%u\n"
++msgstr "oczekiwano poziomu %d, a uzyskano %d w bloku inobt %u/%u\n"
+-#: .././repair/dinode.c:2145
++#: .././db/check.c:4195 .././db/check.c:4261
+ #, c-format
+-msgid "bad attribute format %d in inode %<PRIu64>, "
+-msgstr "błędny format atrybutów %d w i-węźle %<PRIu64>, "
+-
+-#: .././repair/dinode.c:2148
+-msgid "resetting value\n"
+-msgstr "przestawiono wartość\n"
+-
+-#: .././repair/dinode.c:2152
+-msgid "would reset value\n"
+-msgstr "wartość zostałaby przestawiona\n"
++msgid "bad btree nrecs (%u, min=%u, max=%u) in inobt block %u/%u\n"
++msgstr "błędna liczba rekordów b-drzewa (%u, min=%u, max=%u) w bloku inobt %u/%u\n"
+-#: .././repair/dinode.c:2182 .././repair/attr_repair.c:994
++#: .././db/check.c:4230 .././db/frag.c:490
+ #, c-format
+-msgid "illegal attribute format %d, ino %<PRIu64>\n"
+-msgstr "niedozwolony format atrybutu %d, i-węzeł %<PRIu64>\n"
++msgid "can't read inode block %u/%u\n"
++msgstr "nie można odczytać bloku i-węzła %u/%u\n"
+-#: .././repair/dinode.c:2197
++#: .././db/check.c:4248
+ #, c-format
+-msgid "bad attribute fork in inode %<PRIu64>"
+-msgstr "błędna gałąź atrybutów w i-węźle %<PRIu64>"
+-
+-#: .././repair/dinode.c:2201
+-msgid ", clearing attr fork\n"
+-msgstr ", wyczyszczono gałąź atrybutów\n"
+-
+-#: .././repair/dinode.c:2210
+-msgid ", would clear attr fork\n"
+-msgstr ", gałąź atrybutów zostałaby wyczyszczona\n"
++msgid "ir_freecount/free mismatch, inode chunk %u/%u, freecount %d nfree %d\n"
++msgstr "niezgodność ir_freecount/free, porcja i-węzłów %u/%u, freecount %d nfree %d\n"
+-#: .././repair/dinode.c:2238
++#: .././db/check.c:4303
+ #, c-format
+-msgid "illegal attribute fmt %d, ino %<PRIu64>\n"
+-msgstr "niedozwolony format atrybutów %d, i-węzeł %<PRIu64>\n"
++msgid "setting inode to %lld for block %u/%u\n"
++msgstr "ustawianie i-węzła na %lld dla bloku %u/%u\n"
+-#: .././repair/dinode.c:2258
++#: .././db/check.c:4335
+ #, c-format
+-msgid "problem with attribute contents in inode %<PRIu64>\n"
+-msgstr "problem z zawartością atrybutu w i-węźle %<PRIu64>\n"
+-
+-#: .././repair/dinode.c:2266
+-msgid "would clear attr fork\n"
+-msgstr "gałąź atrybutów zostałaby wyczyszczona\n"
++msgid "setting inode to %lld for rtblock %llu\n"
++msgstr "ustawianie i-węzła na %lld dla rtbloku %llu\n"
+-#: .././repair/dinode.c:2309
++#: .././db/check.c:4351
+ #, c-format
+-msgid "version 2 inode %<PRIu64> claims > %u links, "
+-msgstr "i-węzeł %<PRIu64> w wersji 2 odwołuje się do > %u dowiązań, "
+-
+-#: .././repair/dinode.c:2313
+-msgid "updating superblock version number\n"
+-msgstr "uaktualniono numer wersji superbloku\n"
+-
+-#: .././repair/dinode.c:2316
+-msgid "would update superblock version number\n"
+-msgstr "numer wersji superbloku zostałby uaktualniony\n"
++msgid "inode %lld nlink %u %s dir\n"
++msgstr "i-węzeł %lld nlink %u katalog %s\n"
+-#: .././repair/dinode.c:2324
++#: .././db/command.c:82 .././db/help.c:56 .././libxcmd/help.c:49
+ #, c-format
+-msgid "WARNING:  version 2 inode %<PRIu64> claims > %u links, "
+-msgstr "UWAGA: i-węzeł %<PRIu64> w wersji 2 odwołuje się do > %u dowiązań, "
++msgid "command %s not found\n"
++msgstr "nie znaleziono polecenia %s\n"
+-#: .././repair/dinode.c:2327
++#: .././db/command.c:86
+ #, c-format
+-msgid ""
+-"converting back to version 1,\n"
+-"this may destroy %d links\n"
+-msgstr ""
+-"przekształcanie z powrotem do wersji 1,\n"
+-"może to zniszczyć %d dowiązań\n"
++msgid "bad argument count %d to %s, expected "
++msgstr "błędny argument liczby %d dla %s, oczekiwano "
+-#: .././repair/dinode.c:2337
++#: .././db/command.c:88
+ #, c-format
+-msgid ""
+-"would convert back to version 1,\n"
+-"\tthis might destroy %d links\n"
+-msgstr ""
+-"zostałby przekształcony z powrotem do wersji 1,\n"
+-"\tco mogłoby zniszczyć %d dowiązań\n"
++msgid "at least %d"
++msgstr "przynajmniej %d"
+-#: .././repair/dinode.c:2352
++#: .././db/command.c:92
+ #, c-format
+-msgid "found version 2 inode %<PRIu64>, "
+-msgstr "znaleziono i-węzeł %<PRIu64> w wersji 2, "
++msgid "between %d and %d"
++msgstr "od %d do %d"
+-#: .././repair/dinode.c:2354
+-msgid "converting back to version 1\n"
+-msgstr "przekształcono z powrotem do wersji 1\n"
++#: .././db/command.c:93
++msgid " arguments\n"
++msgstr " argumentów\n"
+-#: .././repair/dinode.c:2360
+-msgid "would convert back to version 1\n"
+-msgstr "zostałby przekształcony z powrotem do wersji 1\n"
++#: .././db/convert.c:171
++#, c-format
++msgid "bad argument count %d to convert, expected 3,5,7,9 arguments\n"
++msgstr "błędna liczba argumentów %d do konwersji, oczekiwano 3,5,7,9 argumentów\n"
+-#: .././repair/dinode.c:2374
++#: .././db/convert.c:176 .././db/convert.c:183
+ #, c-format
+-msgid "clearing obsolete nlink field in version 2 inode %<PRIu64>, was %d, now 0\n"
+-msgstr "wyczyszczono przestarzałe pole nlink w i-węźle %<PRIu64> w wersji 2 - było %d, jest 0\n"
++msgid "unknown conversion type %s\n"
++msgstr "nieznany rodzaj konwersji %s\n"
+-#: .././repair/dinode.c:2380
++#: .././db/convert.c:187
++msgid "result type same as argument\n"
++msgstr "typ wyniku taki sam jak argument\n"
++
++#: .././db/convert.c:191
+ #, c-format
+-msgid "would clear obsolete nlink field in version 2 inode %<PRIu64>, currently %d\n"
+-msgstr "przestarzałe pole nlink w i-węźle %<PRIu64> w wersji 2 zostałoby wyczyszczone, aktualnie %d\n"
++msgid "conflicting conversion type %s\n"
++msgstr "konflikt typu konwersji %s\n"
+-#: .././repair/dinode.c:2449
++#: .././db/convert.c:269
+ #, c-format
+-msgid "bad magic number 0x%x on inode %<PRIu64>%c"
+-msgstr "błędna liczba magiczna 0x%x w i-węźle %<PRIu64>%c"
++msgid "%s is not a number\n"
++msgstr "%s nie jest liczbą\n"
+-#: .././repair/dinode.c:2454
+-msgid " resetting magic number\n"
+-msgstr " przestawiono liczbę magiczną\n"
++#: .././db/debug.c:27
++msgid "[flagbits]"
++msgstr "[bity flag]"
+-#: .././repair/dinode.c:2458
+-msgid " would reset magic number\n"
+-msgstr " liczba magiczna zostałaby przestawiona\n"
++#: .././db/debug.c:28
++msgid "set debug option bits"
++msgstr "ustawienie bitów opcji diagnostycznych"
+-#: .././repair/dinode.c:2466
++#: .././db/debug.c:42
+ #, c-format
+-msgid "bad version number 0x%x on inode %<PRIu64>%c"
+-msgstr "błędny numer wersji 0x%x w i-węźle %<PRIu64>%c"
++msgid "bad value for debug %s\n"
++msgstr "błędna wartość diagnostyki %s\n"
+-#: .././repair/dinode.c:2471
+-msgid " resetting version number\n"
+-msgstr " przestawiono numer wersji\n"
++#: .././db/dir2.c:1019
++msgid "Unknown directory buffer type!\n"
++msgstr "Nieznany typ bufora katalogu!\n"
+-#: .././repair/dinode.c:2475
+-msgid " would reset version number\n"
+-msgstr " numer wersji zostałby przestawiony\n"
++#: .././db/dir2.c:1031
++msgid "Writing unknown directory buffer type!\n"
++msgstr "Zapis nieznanego typu bufora katalogu!\n"
+-#: .././repair/dinode.c:2485
+-#, c-format
+-msgid "bad (negative) size %<PRId64> on inode %<PRIu64>\n"
+-msgstr "błędny (ujemny) rozmiar %<PRId64> w i-węźle %<PRIu64>\n"
++#: .././db/dquot.c:37
++msgid "[projid|gid|uid]"
++msgstr "[projid|gid|uid]"
+-#: .././repair/dinode.c:2518
+-#, c-format
+-msgid "imap claims a free inode %<PRIu64> is in use, "
+-msgstr "imap odwołuje się do wolnego bloku %<PRIu64>, który jest w użyciu, "
++#: .././db/dquot.c:38
++msgid "set current address to project, group or user quota block"
++msgstr "ustawienie bieżącego adresu na blok limitu projektu, grupy lub użytkownika"
+-#: .././repair/dinode.c:2520
+-msgid "correcting imap and clearing inode\n"
+-msgstr "poprawiono imap i wyczyszczono i-węzeł\n"
++#: .././db/dquot.c:127
++msgid "bad option for dquot command\n"
++msgstr "błędna opcja dla polecenia dquot\n"
+-#: .././repair/dinode.c:2524
+-msgid "would correct imap and clear inode\n"
+-msgstr "poprawiono by imap i wyczyszczono by i-węzeł\n"
++#: .././db/dquot.c:131
++msgid "project"
++msgstr "projekt"
+-#: .././repair/dinode.c:2541
+-#, c-format
+-msgid "bad inode format in inode %<PRIu64>\n"
+-msgstr "błędny format i-węzła w i-węźle %<PRIu64>\n"
++#: .././db/dquot.c:131
++msgid "group"
++msgstr "grupę"
+-#: .././repair/dinode.c:2557
+-#, c-format
+-msgid "Bad flags set in inode %<PRIu64>\n"
+-msgstr "Błędne flagi ustawione w i-węźle %<PRIu64>\n"
++#: .././db/dquot.c:131
++msgid "user"
++msgstr "użytkownika"
+-#: .././repair/dinode.c:2568
++#: .././db/dquot.c:133
+ #, c-format
+-msgid "inode %<PRIu64> has RT flag set but there is no RT device\n"
+-msgstr "i-węzeł %<PRIu64> ma ustawioną flagę RT, ale nie ma urządzenia RT\n"
++msgid "dquot command requires one %s id argument\n"
++msgstr "polecenie dquot wymaga jednego argumentu identyfikującego %s\n"
+-#: .././repair/dinode.c:2580
++#: .././db/dquot.c:143
+ #, c-format
+-msgid "inode %<PRIu64> not rt bitmap\n"
+-msgstr "i-węzeł %<PRIu64> nie jest bitmapą rt\n"
++msgid "no %s quota inode present\n"
++msgstr "i-węzeł limitów na %s nie jest dostępny\n"
+-#: .././repair/dinode.c:2594
++#: .././db/dquot.c:148
+ #, c-format
+-msgid "directory flags set on non-directory inode %<PRIu64>\n"
+-msgstr "flagi katalogu ustawione dla nie będącego katalogiem i-węzła %<PRIu64>\n"
++msgid "bad %s id for dquot %s\n"
++msgstr "błędna liczba identyfikująca %s dla dquot %s\n"
+-#: .././repair/dinode.c:2608
++#: .././db/dquot.c:160
+ #, c-format
+-msgid "file flags set on non-file inode %<PRIu64>\n"
+-msgstr "flagi pliku ustawione dla nie będącego plikiem i-węzła %<PRIu64>\n"
++msgid "no %s quota data for id %d\n"
++msgstr "brak danych limitów na %s dla id %d\n"
+-#: .././repair/dinode.c:2617
+-msgid ", fixing bad flags.\n"
+-msgstr ", poprawiono błędne flagi.\n"
++#: .././db/echo.c:27
++msgid "[args]..."
++msgstr "[argumenty]..."
+-#: .././repair/dinode.c:2621
+-msgid ", would fix bad flags.\n"
+-msgstr ", poprawionoby błędne flagi.\n"
++#: .././db/echo.c:28
++msgid "echo arguments"
++msgstr "wypisanie argumentów"
+-#: .././repair/dinode.c:2672
+-#, c-format
+-msgid "bad inode type %#o inode %<PRIu64>\n"
+-msgstr "błędny typ i-węzła %#o w i-węźle %<PRIu64>\n"
++#: .././db/faddr.c:40 .././db/faddr.c:63
++msgid "no current allocation group, cannot set new addr\n"
++msgstr "brak bieżącej grupy alokacji, nie można ustawić nowego adresu\n"
+-#: .././repair/dinode.c:2696
+-#, c-format
+-msgid "bad non-zero extent size %u for non-realtime/extsize inode %<PRIu64>, "
+-msgstr "błędny niezerowy rozmiar ekstentu %u dla extsize i-węzła nie-realtime %<PRIu64>, "
++#: .././db/faddr.c:45 .././db/faddr.c:117 .././db/faddr.c:148
++#: .././db/faddr.c:180 .././db/faddr.c:202 .././db/faddr.c:232
++#: .././db/faddr.c:262 .././db/faddr.c:316 .././db/faddr.c:335
++msgid "null block number, cannot set new addr\n"
++msgstr "pusty numer bloku, nie można ustawić nowego adresu\n"
+-#: .././repair/dinode.c:2699
+-msgid "resetting to zero\n"
+-msgstr "przestawiono na zero\n"
++#: .././db/faddr.c:68 .././db/faddr.c:353 .././db/faddr.c:371
++#: .././db/faddr.c:389
++msgid "null inode number, cannot set new addr\n"
++msgstr "pusty numer i-węzła, nie można ustawić nowego adresu\n"
+-#: .././repair/dinode.c:2703
+-msgid "would reset to zero\n"
+-msgstr "zostałby przestawiony na zero\n"
++#: .././db/faddr.c:88
++msgid "null attribute block number, cannot set new addr\n"
++msgstr "pusty number bloku atrybutów, nie można ustawić nowego adresu\n"
++
++#: .././db/faddr.c:94
++msgid "attribute block is unmapped\n"
++msgstr "blok atrybutów jest nieodwzorowany\n"
++
++#: .././db/faddr.c:123 .././db/faddr.c:155 .././db/faddr.c:208
++#: .././db/faddr.c:239
++msgid "file block is unmapped\n"
++msgstr "blok pliku jest nieodwzorowany\n"
++
++#: .././db/faddr.c:285
++msgid "null directory block number, cannot set new addr\n"
++msgstr "pusty numer bloku katalogu, nie można ustawić nowego adresu\n"
++
++#: .././db/faddr.c:292
++msgid "directory block is unmapped\n"
++msgstr "blok katalogu jest nieodwzorowany\n"
+-#: .././repair/dinode.c:2759
++#: .././db/flist.c:149
+ #, c-format
+-msgid "problem with directory contents in inode %<PRIu64>\n"
+-msgstr "problem z zawartością katalogu w i-węźle %<PRIu64>\n"
++msgid "field %s not found\n"
++msgstr "nie znaleziono pola %s\n"
+-#: .././repair/dinode.c:2767
++#: .././db/flist.c:159
+ #, c-format
+-msgid "problem with symbolic link in inode %<PRIu64>\n"
+-msgstr "problem z dowiązaniem symbolicznym w i-węźle %<PRIu64>\n"
++msgid "no elements in %s\n"
++msgstr "brak elementów w %s\n"
+-#: .././repair/dinode.c:2862
++#: .././db/flist.c:165
+ #, c-format
+-msgid "processing inode %d/%d\n"
+-msgstr "analiza i-węzła %d/%d\n"
++msgid "indices %d-%d for field %s out of range %d-%d\n"
++msgstr "indeksy %d-%d dla pola %s są poza zakresem %d-%d\n"
+-#: .././repair/sb.c:100
+-msgid ""
+-"\n"
+-"attempting to find secondary superblock...\n"
+-msgstr ""
+-"\n"
+-"próba odnalezienia zapasowego superbloku...\n"
++#: .././db/flist.c:173
++#, c-format
++msgid "index %d for field %s out of range %d-%d\n"
++msgstr "indeks %d dla pola %s jest poza zakresem %d-%d\n"
+-#: .././repair/sb.c:105
+-msgid "error finding secondary superblock -- failed to memalign buffer\n"
+-msgstr "błąd podczas szukania zapasowego superbloku - nie udało się memalign bufora\n"
++#: .././db/flist.c:187
++#, c-format
++msgid "field %s is not an array\n"
++msgstr "pole %s nie jest tablicą\n"
+-#: .././repair/sb.c:142
+-msgid "found candidate secondary superblock...\n"
+-msgstr "znaleziono potencjalny zapasowy superblok...\n"
++#: .././db/flist.c:200
++#, c-format
++msgid "field %s has no subfields\n"
++msgstr "pole %s nie ma podpól\n"
+-#: .././repair/sb.c:154
+-msgid "verified secondary superblock...\n"
+-msgstr "sprawdzono zapasowy superblok...\n"
+-
+-#: .././repair/sb.c:159
+-msgid "unable to verify superblock, continuing...\n"
+-msgstr "nie udało się sprawdzić superbloku, kontynuacja...\n"
+-
+-#: .././repair/sb.c:457
+-msgid "failed to memalign superblock buffer\n"
+-msgstr "nie udało się wykonać memalign dla bufora superbloku\n"
+-
+-#: .././repair/sb.c:464
+-msgid "couldn't seek to offset 0 in filesystem\n"
+-msgstr "nie udało się wykonać seek na offset 0 w systemie plików\n"
+-
+-#: .././repair/sb.c:472
+-msgid "primary superblock write failed!\n"
+-msgstr "zapis głównego superbloku nie powiódł się!\n"
+-
+-#: .././repair/sb.c:490
++#: .././db/flist.c:220
+ #, c-format
+-msgid "error reading superblock %u -- failed to memalign buffer\n"
+-msgstr "błąd podczas odczytu superbloku %u - nie udało się wykonać memalign dla bufora\n"
++msgid "fl@%p:\n"
++msgstr "fl@%p:\n"
+-#: .././repair/sb.c:500
++#: .././db/flist.c:221
+ #, c-format
+-msgid "error reading superblock %u -- seek to offset %<PRId64> failed\n"
+-msgstr "błąd podczas odczytu superbloku %u - seek na offset %<PRId64> nie powiódł się\n"
++msgid "\tname=%s, fld=%p, child=%p, sibling=%p\n"
++msgstr "\tnazwa=%s, fld=%p, child=%p, sibling=%p\n"
+-#: .././repair/sb.c:508
++#: .././db/flist.c:223
+ #, c-format
+-msgid "superblock read failed, offset %<PRId64>, size %d, ag %u, rval %d\n"
+-msgstr "odczyt superbloku nie powiódł się, offset %<PRId64>, rozmiar %d, ag %u, rval %d\n"
+-
+-#: .././repair/sb.c:554
+-msgid "couldn't malloc geometry structure\n"
+-msgstr "nie udało się przydzielić struktury geometrii\n"
+-
+-#: .././repair/sb.c:706
+-msgid "calloc failed in verify_set_primary_sb\n"
+-msgstr "calloc nie powiodło się w verify_set_primary_sb\n"
++msgid "\tlow=%d, high=%d, flags=%d (%s%s), offset=%d\n"
++msgstr "\tlow=%d, high=%d, flagi=%d (%s%s), offset=%d\n"
+-#: .././repair/sb.c:777
+-msgid ""
+-"Only two AGs detected and they do not match - cannot validate filesystem geometry.\n"
+-"Use the -o force_geometry option to proceed.\n"
+-msgstr ""
+-"Wykryto tylko dwie AG i nie zgadzają się - nie można sprawdzić poprawności geometrii systemu plików.\n"
+-"Proszę użyć opcji -o force_geometry, aby kontynuować.\n"
++#: .././db/flist.c:225
++msgid "oklow "
++msgstr "oklow "
+-#: .././repair/sb.c:793
+-msgid ""
+-"Only one AG detected - cannot validate filesystem geometry.\n"
+-"Use the -o force_geometry option to proceed.\n"
+-msgstr ""
+-"Wykryto tylko dwie AG - nie można sprawdzić poprawności geometrii systemu plików.\n"
+-"Proszę użyć opcji -o force_geometry, aby kontynuować.\n"
++#: .././db/flist.c:226
++msgid "okhigh"
++msgstr "okhigh"
+-#: .././repair/sb.c:808
+-msgid "Not enough matching superblocks - cannot proceed.\n"
+-msgstr "Za mało pasujących superbloków - nie można kontynuować.\n"
++#: .././db/flist.c:227
++#, c-format
++msgid "\tfld->name=%s, fld->ftyp=%d (%s)\n"
++msgstr "\tfld->name=%s, fld->ftyp=%d (%s)\n"
+-#: .././repair/sb.c:823
+-msgid "could not read superblock\n"
+-msgstr "nie udało się odczytać superbloku\n"
++#: .././db/flist.c:230
++#, c-format
++msgid "\tfld->flags=%d (%s%s%s%s%s)\n"
++msgstr "\tfld->flags=%d (%s%s%s%s%s)\n"
+-#: .././repair/phase3.c:45
++#: .././db/flist.c:322
+ #, c-format
+-msgid "cannot read agi block %<PRId64> for ag %u\n"
+-msgstr "nie można odczytać bloku agi %<PRId64> dla ag %u\n"
++msgid "bad syntax in field name %s\n"
++msgstr "błędna składnia w nazwie pola %s\n"
+-#: .././repair/phase3.c:127
+-msgid "Phase 3 - for each AG...\n"
+-msgstr "Faza 3 - dla każdej AG...\n"
++#: .././db/flist.c:378
++#, c-format
++msgid "missing closing quote %s\n"
++msgstr "brak cudzysłowu zamykającego %s\n"
+-#: .././repair/phase3.c:129
+-msgid "        - scan and clear agi unlinked lists...\n"
+-msgstr "        - przeszukiwanie i czyszczenie odłączonych list agi...\n"
++#: .././db/flist.c:395
++#, c-format
++msgid "bad character in field %s\n"
++msgstr "błędny znak w polu %s\n"
+-#: .././repair/phase3.c:131
+-msgid "        - scan (but don't clear) agi unlinked lists...\n"
+-msgstr "        - przeszukiwanie (ale nie czyszczenie) odłączonych list agi...\n"
++#: .././db/fprint.c:99
++msgid "null"
++msgstr "nic"
+-#: .././repair/phase3.c:151
+-msgid "        - process known inodes and perform inode discovery...\n"
+-msgstr "        - przetwarzanie znanych i-węzłów i rozpoznawanie i-węzłów...\n"
++#: .././db/frag.c:173
++#, c-format
++msgid "actual %llu, ideal %llu, fragmentation factor %.2f%%\n"
++msgstr "obecnie %llu, idealnie %llu, współczynnik fragmentacji %.2f%%\n"
+-#: .././repair/phase3.c:162
+-msgid "        - process newly discovered inodes...\n"
+-msgstr "        - przetwarzanie nowo rozpoznanych i-węzłów...\n"
++#: .././db/frag.c:214
++msgid "bad option for frag command\n"
++msgstr "błędna opcja dla polecenia frag\n"
+-#: .././repair/scan.c:90 .././repair/scan.c:135
++#: .././db/frag.c:350
+ #, c-format
+-msgid "can't read btree block %d/%d\n"
+-msgstr "nie można odczytać bloku b-drzewa %d/%d\n"
++msgid "inode %lld actual %lld ideal %lld\n"
++msgstr "i-węzeł %lld obecnie %lld idealnie %lld\n"
+-#: .././repair/scan.c:197
++#: .././db/frag.c:444 .././db/frag.c:454
+ #, c-format
+-msgid "bad magic # %#x in inode %<PRIu64> (%s fork) bmbt block %<PRIu64>\n"
+-msgstr "błędna liczba magiczna %#x w i-węźle %<PRIu64> (gałąź %s) blok bmbt %<PRIu64>\n"
++msgid "invalid numrecs (%u) in %s block\n"
++msgstr "błędne numrecs (%u) w bloku %s\n"
+-#: .././repair/scan.c:203
++#: .././db/freesp.c:110
+ #, c-format
+-msgid "expected level %d got %d in inode %<PRIu64>, (%s fork) bmbt block %<PRIu64>\n"
+-msgstr "oczekiwano poziomu %d, a uzyskano %d w i-węźle %<PRIu64>, (gałęzi %s) blok bmbt %<PRIu64>\n"
++msgid "total free extents %lld\n"
++msgstr "razem wolnych ekstentów: %lld\n"
+-#: .././repair/scan.c:223
++#: .././db/freesp.c:111
+ #, c-format
+-msgid ""
+-"bad fwd (right) sibling pointer (saw %<PRIu64> parent block says %<PRIu64>)\n"
+-"\tin inode %<PRIu64> (%s fork) bmap btree block %<PRIu64>\n"
+-msgstr ""
+-"błędny wskaźnik w przód (prawy) (widziano %<PRIu64>, blok nadrzędny mówi %<PRIu64>)\n"
+-"\tw i-węźle %<PRIu64> (gałęzi %s) bloku bmap btree %<PRIu64>\n"
++msgid "total free blocks %lld\n"
++msgstr "razem wolnych bloków: %lld\n"
+-#: .././repair/scan.c:233
++#: .././db/freesp.c:112
+ #, c-format
+-msgid ""
+-"bad back (left) sibling pointer (saw %llu parent block says %<PRIu64>)\n"
+-"\tin inode %<PRIu64> (%s fork) bmap btree block %<PRIu64>\n"
+-msgstr ""
+-"błędny wskaźnik wstecz (lewy) (widziano %llu, blok nadrzędny mówi %<PRIu64>)\n"
+-"\tw i-węźle %<PRIu64> (gałęzi %s) bloku bmap btree %<PRIu64>\n"
++msgid "average free extent size %g\n"
++msgstr "średni rozmiar wolnego ekstentu: %g\n"
+-#: .././repair/scan.c:248
+-#, c-format
+-msgid ""
+-"bad back (left) sibling pointer (saw %llu should be NULL (0))\n"
+-"\tin inode %<PRIu64> (%s fork) bmap btree block %<PRIu64>\n"
+-msgstr ""
+-"błędny wskaźnik wstecz (lewy) (widziano %llu, powinien być NULL (0))\n"
+-"\tw i-węźle %<PRIu64> (gałęzi %s) bloku bmap btree %<PRIu64>\n"
++#: .././db/freesp.c:203
++msgid "freesp arguments: [-bcds] [-a agno] [-e binsize] [-h h1]... [-m binmult]\n"
++msgstr "argumenty freesp: [-bcds] [-a agno] [-e binsize] [-h h1]... [-m binmult]\n"
+-#: .././repair/scan.c:289
+-#, c-format
+-msgid "inode 0x%<PRIx64>bmap block 0x%<PRIx64> claimed, state is %d\n"
+-msgstr "i-węzeł 0x%<PRIx64> blok bmap 0x%<PRIx64> przypisany, stan to %d\n"
++#: .././db/freesp.c:427
++msgid "from"
++msgstr "od"
+-#: .././repair/scan.c:296
+-#, c-format
+-msgid "inode 0x%<PRIx64> bmap block 0x%<PRIx64> claimed, state is %d\n"
+-msgstr "i-węzeł 0x%<PRIx64> blok bmap 0x%<PRIx64> przypisany, stan to %d\n"
++#: .././db/freesp.c:427
++msgid "to"
++msgstr "do"
+-#: .././repair/scan.c:311
+-#, c-format
+-msgid "bad state %d, inode %<PRIu64> bmap block 0x%<PRIx64>\n"
+-msgstr "błędny stan %d, i-węzeł %<PRIu64> blok bmap 0x%<PRIx64>\n"
++#: .././db/freesp.c:427 .././repair/progress.c:26
++msgid "extents"
++msgstr "ekstentów"
+-#: .././repair/scan.c:338 .././repair/scan.c:389
+-#, c-format
+-msgid "inode %<PRIu64> bad # of bmap records (%u, min - %u, max - %u)\n"
+-msgstr "błędna liczba rekordów bmap w i-węźle %<PRIu64> (%u, minimum - %u, maksimum - %u)\n"
++#: .././db/freesp.c:427 .././repair/progress.c:18
++msgid "blocks"
++msgstr "bloków"
+-#: .././repair/scan.c:368
+-#, c-format
+-msgid "out-of-order bmap key (file offset) in inode %<PRIu64>, %s fork, fsbno %<PRIu64>\n"
+-msgstr "uszkodzony klucz bmap (offset pliku) w i-węźle %<PRIu64>, gałęzi %s, fsbno %<PRIu64>\n"
++#: .././db/freesp.c:427
++msgid "pct"
++msgstr "proc."
+-#: .././repair/scan.c:433
+-#, c-format
+-msgid ""
+-"correcting bt key (was %llu, now %<PRIu64>) in inode %<PRIu64>\n"
+-"\t\t%s fork, btree block %<PRIu64>\n"
+-msgstr ""
+-"poprawiono klucz bt (było %llu, jest %<PRIu64>) w i-węźle %<PRIu64>\n"
+-"\t\tgałąź %s, blok b-drzewa %<PRIu64>\n"
++#: .././db/hash.c:30
++msgid "string"
++msgstr "łańcuch"
+-#: .././repair/scan.c:445
+-#, c-format
++#: .././db/hash.c:31
++msgid "calculate hash value"
++msgstr "obliczenie wartości skrótu"
++
++#: .././db/hash.c:37
+ msgid ""
+-"bad btree key (is %llu, should be %<PRIu64>) in inode %<PRIu64>\n"
+-"\t\t%s fork, btree block %<PRIu64>\n"
++"\n"
++" 'hash' prints out the calculated hash value for a string using the\n"
++"directory/attribute code hash function.\n"
++"\n"
++" Usage:  \"hash <string>\"\n"
++"\n"
+ msgstr ""
+-"błędny klucz b-drzewa (jest %llu, powinno być %<PRIu64>) w i-węźle %<PRIu64>\n"
+-"\t\tgałąź %s, blok b-drzewa %<PRIu64>\n"
++"\n"
++" 'hash' wypisuje wartość skrótu dla łańcucha obliczoną przy użyciu funkcji\n"
++" haszującej dla katalogów/atrybutów.\n"
++"\n"
++" Składnia: \"hash <łańcuch>\"\n"
++"\n"
++
++#: .././db/help.c:30 .././db/io.c:48 .././libxcmd/help.c:92
++msgid "[command]"
++msgstr "[polecenie]"
++
++#: .././db/help.c:31 .././libxcmd/help.c:93
++msgid "help for one or all commands"
++msgstr "opis dla jednego lub wszystkich poleceń"
+-#: .././repair/scan.c:463
++#: .././db/help.c:40 .././libxcmd/help.c:33
+ #, c-format
+ msgid ""
+-"bad fwd (right) sibling pointer (saw %<PRIu64> should be NULLDFSBNO)\n"
+-"\tin inode %<PRIu64> (%s fork) bmap btree block %<PRIu64>\n"
++"\n"
++"Use 'help commandname' for extended help.\n"
+ msgstr ""
+-"błędny wskaźnik w przód (prawy) (widziano %<PRIu64>, powinien być NULLDFSBNO)\n"
+-"\tw i-węźle %<PRIu64> (gałęzi %s) bloku bmap btree %<PRIu64>\n"
++"\n"
++"Rozszerzony opis można uzyskać przez 'help nazwa_polecenia'.\n"
+-#: .././repair/scan.c:537
++#: .././db/help.c:89
+ #, c-format
+-msgid "bad magic # %#x in bt%s block %d/%d\n"
+-msgstr "błędna liczba magiczna %#x w bloku bt%s %d/%d\n"
++msgid "(or %s) "
++msgstr "(lub %s) "
+-#: .././repair/scan.c:555
++#: .././db/init.c:47
+ #, c-format
+-msgid "expected level %d got %d in bt%s block %d/%d\n"
+-msgstr "oczekiwano poziomu %d, a uzyskano %d w bloku bt%s %d/%d\n"
++msgid "Usage: %s [-ifFrxV] [-p prog] [-l logdev] [-c cmd]... device\n"
++msgstr "Składnia: %s [-ifFrxV] [-p prog] [-l urz-log] [-c polecenie]... urządzenie\n"
+-#: .././repair/scan.c:569
+-#, c-format
+-msgid "%s freespace btree block claimed (state %d), agno %d, bno %d, suspect %d\n"
+-msgstr "blok b-drzewa wolnego miejsca %s przypisany (stan %d), agno %d, bno %d, podejrzany %d\n"
++#: .././db/init.c:114
++msgid ""
++"\n"
++"fatal error -- couldn't initialize XFS library\n"
++msgstr ""
++"\n"
++"błąd krytyczny - nie udało się zainicjować biblioteki XFS\n"
+-#: .././repair/scan.c:589 .././repair/scan.c:688
++#: .././db/init.c:129
+ #, c-format
+-msgid "bad btree nrecs (%u, min=%u, max=%u) in bt%s block %u/%u\n"
+-msgstr "błędna liczba rekordów b-drzewa (%u, min=%u, max=%u) w bt%s, blok %u/%u\n"
++msgid "%s: %s is invalid (cannot read first 512 bytes)\n"
++msgstr "%s: %s jest nieprawidłowy (nie można odczytać pierwszych 512 bajtów)\n"
+-#: .././repair/scan.c:607
++#: .././db/init.c:141
+ #, c-format
+-msgid "invalid start block %u in record %u of %s btree block %u/%u\n"
+-msgstr "błędny blok początkowy %u w rekordzie %u bloku b-drzewa %s %u/%u\n"
++msgid "%s: %s is not a valid XFS filesystem (unexpected SB magic number 0x%08x)\n"
++msgstr "%s: %s nie jest poprawnym systemem plików XFS (nieoczekiwana liczba magiczna SB 0x%08x)\n"
+-#: .././repair/scan.c:613
++#: .././db/init.c:144
+ #, c-format
+-msgid "invalid length %u in record %u of %s btree block %u/%u\n"
+-msgstr "błędna długość %u w rekordzie %u bloku b-drzewa %s %u/%u\n"
++msgid "Use -F to force a read attempt.\n"
++msgstr "Opcja -F pozwala wymusić próbę odczytu.\n"
+-#: .././repair/scan.c:621 .././db/check.c:4315
++#: .././db/init.c:153
+ #, c-format
+-msgid "out-of-order bno btree record %d (%u %u) block %u/%u\n"
+-msgstr "rekord b-drzewa bno poza kolejnością: %d (%u %u), blok %u/%u\n"
++msgid "%s: device %s unusable (not an XFS filesystem?)\n"
++msgstr "%s: urządzenie %s nie nadaje się do użycia (to nie jest system plików XFS?)\n"
+-#: .././repair/scan.c:633 .././db/check.c:4392
++#: .././db/init.c:167
+ #, c-format
+-msgid "out-of-order cnt btree record %d (%u %u) block %u/%u\n"
+-msgstr "rekord b-drzewa cnt poza kolejnością: %d (%u %u), blok %u/%u\n"
++msgid "%s: cannot init perag data (%d). Continuing anyway.\n"
++msgstr "%s: nie można zainicjować danych perag (%d). Kontynuacja mimo wszystko.\n"
+-#: .././repair/scan.c:658
++#: .././db/inode.c:412
+ #, c-format
+-msgid "block (%d,%d-%d) multiply claimed by %s space tree, state - %d\n"
+-msgstr "blok (%d,%d-%d) wielokrotnie przypisany do drzewa miejsca %s, stan - %d\n"
++msgid "bad value for inode number %s\n"
++msgstr "błędna wartość numeru i-węzła %s\n"
+-#: .././repair/scan.c:755
++#: .././db/inode.c:419
+ #, c-format
+-msgid "badly aligned inode rec (starting inode = %<PRIu64>)\n"
+-msgstr "błędnie wyrównany rekord i-węzła (początkowy i-węzeł = %<PRIu64>)\n"
++msgid "current inode number is %lld\n"
++msgstr "numer bieżącego i-węzła to %lld\n"
+-#: .././repair/scan.c:771
++#: .././db/inode.c:654
+ #, c-format
+-msgid "bad starting inode # (%<PRIu64> (0x%x 0x%x)) in ino rec, skipping rec\n"
+-msgstr "błędny numer początkowego i-węzła (%<PRIu64> (0x%x 0x%x)) w rekordzie i-węzła, pominięto rekord\n"
++msgid "bad inode number %lld\n"
++msgstr "błędny numer i-węzła %lld\n"
+-#: .././repair/scan.c:779
+-#, c-format
+-msgid "bad ending inode # (%<PRIu64> (0x%x 0x%zx)) in ino rec, skipping rec\n"
+-msgstr "błędny numer końcowego i-węzła (%<PRIu64> (0x%x 0x%zx)) w rekordzie i-węzła, pominięto rekord\n"
++#: .././db/input.c:43
++msgid "source-file"
++msgstr "plik-źródłowy"
+-#: .././repair/scan.c:804
+-#, c-format
+-msgid "inode chunk claims used block, inobt block - agno %d, bno %d, inopb %d\n"
+-msgstr "część i-węzła odwołuje się do używanego bloku, blok inobt - agno %d, bno %d, inopb %d\n"
++#: .././db/input.c:44
++msgid "get commands from source-file"
++msgstr "odczyt poleceń z pliku-źródłowego"
+-#: .././repair/scan.c:826
++#: .././db/input.c:320
+ #, c-format
+-msgid "inode rec for ino %<PRIu64> (%d/%d) overlaps existing rec (start %d/%d)\n"
+-msgstr "rekord i-węzła dla i-węzła %<PRIu64> (%d/%d) nachodzi na istniejący rekord (początek %d/%d)\n"
++msgid "can't open %s\n"
++msgstr "nie można otworzyć %s\n"
+-#: .././repair/scan.c:873
+-#, c-format
+-msgid "ir_freecount/free mismatch, inode chunk %d/%u, freecount %d nfree %d\n"
+-msgstr "niezgodność ir_freecount/free, porcja i-węzłów %d/%u, freecount %d nfree %d\n"
++#: .././db/io.c:46
++msgid "pop location from the stack"
++msgstr "odtworzenie pozycji ze stosu"
+-#: .././repair/scan.c:919
+-#, c-format
+-msgid "bad magic # %#x in inobt block %d/%d\n"
+-msgstr "błędna liczba magiczna %#x w bloku inobt %d/%d\n"
++#: .././db/io.c:49
++msgid "push location to the stack"
++msgstr "zapisanie pozycji na stos"
+-#: .././repair/scan.c:927
+-#, c-format
+-msgid "expected level %d got %d in inobt block %d/%d\n"
+-msgstr "oczekiwano poziomu %d, a uzyskano %d w bloku inobt %d/%d\n"
++#: .././db/io.c:52
++msgid "view the location stack"
++msgstr "podejrzenie stosu pozycji"
+-#: .././repair/scan.c:949
+-#, c-format
+-msgid "inode btree block claimed (state %d), agno %d, bno %d, suspect %d\n"
+-msgstr "blok b-drzewa i-węzłów przypisany (stan %d), agno %d, bno %d, podejrzany %d\n"
++#: .././db/io.c:55
++msgid "move forward to next entry in the position ring"
++msgstr "przejście na następną pozycję w kręgu"
+-#: .././repair/scan.c:972
+-#, c-format
+-msgid "dubious inode btree block header %d/%d\n"
+-msgstr "wątpliwy nagłówek bloku b-drzewa i-węzłów %d/%d\n"
++#: .././db/io.c:58
++msgid "move to the previous location in the position ring"
++msgstr "przejście na poprzednią pozycję w kręgu"
+-#: .././repair/scan.c:1065
+-#, c-format
+-msgid "can't read agfl block for ag %d\n"
+-msgstr "nie można odczytać bloku agfl dla ag %d\n"
++#: .././db/io.c:61
++msgid "show position ring or move to a specific entry"
++msgstr "pokazanie kręgu pozycji lub przejście do określonego wpisu"
+-#: .././repair/scan.c:1076
++#: .././db/io.c:91
+ #, c-format
+-msgid "bad agbno %u in agfl, agno %d\n"
+-msgstr "błędne agbno %u w agfl, agno %d\n"
++msgid "can't set block offset to %d\n"
++msgstr "nie można ustawić offsetu bloku na %d\n"
+-#: .././repair/scan.c:1085
+-#, c-format
+-msgid "freeblk count %d != flcount %d in ag %d\n"
+-msgstr "liczba freeblk %d != flcount %d w ag %d\n"
++#: .././db/io.c:104
++msgid "can't pop anything from I/O stack\n"
++msgstr "nie można pobrać nic ze stosu we/wy\n"
+-#: .././repair/scan.c:1107
+-#, c-format
+-msgid "bad agbno %u for btbno root, agno %d\n"
+-msgstr "błędne agbno %u dla głównego btbno, agno %d\n"
++#: .././db/io.c:138
++msgid ""
++"\n"
++" Changes the address and data type to the first entry on the stack.\n"
++"\n"
++msgstr ""
++"\n"
++" Zmiana adresu i typu danych na pierwszy wpis ze stosu.\n"
++"\n"
+-#: .././repair/scan.c:1116
++#: .././db/io.c:152
+ #, c-format
+-msgid "bad agbno %u for btbcnt root, agno %d\n"
+-msgstr "błędne agbno %u dla głównego btbcnt, agno %d\n"
++msgid "\tbyte offset %lld, length %d\n"
++msgstr "\toffset w bajtach %lld, długość %d\n"
+-#: .././repair/scan.c:1121 .././db/check.c:4033
++#: .././db/io.c:153
+ #, c-format
+-msgid "agf_freeblks %u, counted %u in ag %u\n"
+-msgstr "agf_freeblks %u, naliczono %u w ag %u\n"
++msgid "\tbuffer block %lld (fsbno %lld), %d bb%s\n"
++msgstr "\tblok bufora %lld (fsbno %lld), %d bb%s\n"
+-#: .././repair/scan.c:1126 .././db/check.c:4040
++#: .././db/io.c:157 .././db/io.c:508
+ #, c-format
+-msgid "agf_longest %u, counted %u in ag %u\n"
+-msgstr "agf_longest %u, naliczono %u w ag %u\n"
++msgid "\tblock map"
++msgstr "\tmapa bloków"
+-#: .././repair/scan.c:1132
++#: .././db/io.c:163
+ #, c-format
+-msgid "agf_btreeblks %u, counted %<PRIu64> in ag %u\n"
+-msgstr "agf_btreeblks %u, naliczono %<PRIu64> w ag %u\n"
++msgid "\tinode %lld, dir inode %lld, type %s\n"
++msgstr "\ti-węzeł %lld, i-węzeł katalogu %lld, typ %s\n"
+-#: .././repair/scan.c:1151
++#: .././db/io.c:164 .././growfs/xfs_growfs.c:82 .././logprint/log_misc.c:151
++#: .././mkfs/xfs_mkfs.c:2085
+ #, c-format
+-msgid "bad agbno %u for inobt root, agno %d\n"
+-msgstr "błędne agbno %u dla głównego inobt, agno %d\n"
++msgid "none"
++msgstr "brak"
+-#: .././repair/scan.c:1156 .././db/check.c:4056
+-#, c-format
+-msgid "agi_count %u, counted %u in ag %u\n"
+-msgstr "agi_count %u, naliczono %u w ag %u\n"
++#: .././db/io.c:174
++msgid "no entries in location ring.\n"
++msgstr "brak wpisów w kręgu pozycji.\n"
+-#: .././repair/scan.c:1161 .././db/check.c:4063
+-#, c-format
+-msgid "agi_freecount %u, counted %u in ag %u\n"
+-msgstr "agi_freecount %u, naliczono %u w ag %u\n"
++#: .././db/io.c:178
++msgid "      type    bblock  bblen    fsbno     inode\n"
++msgstr "      typ     bblok   bblen    fsbno     i-węzeł\n"
+-#: .././repair/scan.c:1170
++#: .././db/io.c:232
+ #, c-format
+-msgid "agi unlinked bucket %d is %u in ag %u (inode=%<PRIu64>)\n"
+-msgstr "niedowiązany kubełek agi %d to %u w ag %u (i-węzeł=%<PRIu64>)\n"
++msgid "no such command %s\n"
++msgstr "nieznane polecenie %s\n"
+-#: .././repair/scan.c:1201
++#: .././db/io.c:236
+ #, c-format
+-msgid "can't get root superblock for ag %d\n"
+-msgstr "nie można uzyskać głównego superbloku dla ag %d\n"
++msgid "no push form allowed for %s\n"
++msgstr "forma push niedozwolona dla %s\n"
+-#: .././repair/scan.c:1207
+-msgid "can't allocate memory for superblock\n"
+-msgstr "nie można przydzielić pamięci dla superbloku\n"
++#: .././db/io.c:260
++msgid ""
++"\n"
++" Allows you to push the current address and data type on the stack for\n"
++" later return.  'push' also accepts an additional command to execute after\n"
++" storing the current address (ex: 'push a rootino' from the superblock).\n"
++"\n"
++msgstr ""
++"\n"
++" Pozwala zapisać bieżący adres i typ danych na stos w celu późniejszego\n"
++" powrotu. 'push' akceptuje także dodatkowe polecenie do wykonania po zapisaniu\n"
++" bieżącego adresu (np. 'push a rootino' z superbloku).\n"
++"\n"
+-#: .././repair/scan.c:1217
+-#, c-format
+-msgid "can't read agf block for ag %d\n"
+-msgstr "nie można odczytać bloku agf dla ag %d\n"
++#: .././db/io.c:276 .././db/io.c:316
++msgid "ring is empty\n"
++msgstr "krąg jest pusty\n"
+-#: .././repair/scan.c:1228
+-#, c-format
+-msgid "can't read agi block for ag %d\n"
+-msgstr "nie można odczytać bloku agi dla ag %d\n"
++#: .././db/io.c:280
++msgid "no further entries\n"
++msgstr "brak dalszych wpisów\n"
+-#: .././repair/scan.c:1252
+-#, c-format
+-msgid "reset bad sb for ag %d\n"
+-msgstr "przestawiono błędny superbloku dla ag %d\n"
++#: .././db/io.c:299
++msgid ""
++"\n"
++" The 'forward' ('f') command moves to the next location in the position\n"
++" ring, updating the current position and data type.  If the current location\n"
++" is the top entry in the ring, then the 'forward' command will have\n"
++" no effect.\n"
++"\n"
++msgstr ""
++"\n"
++" Polecenie 'forward' ('f') przechodzi do następnej pozycji w kręgu,\n"
++" uaktualniając bieżącą pozycję i typ danych. Jeśli bieżąca pozycja\n"
++" jest szczytowym wpisem w kręgu, polecenie nie przyniesie efektu.\n"
++"\n"
+-#: .././repair/scan.c:1255
+-#, c-format
+-msgid "would reset bad sb for ag %d\n"
+-msgstr "błędny superblok dla ag %d zostałby przestawiony\n"
++#: .././db/io.c:320
++msgid "no previous entries\n"
++msgstr "brak poprzednich wpisów\n"
+-#: .././repair/scan.c:1260
+-#, c-format
+-msgid "reset bad agf for ag %d\n"
+-msgstr "przestawiono błędne agf dla ag %d\n"
++#: .././db/io.c:339
++msgid ""
++"\n"
++" The 'back' ('b') command moves to the previous location in the position\n"
++" ring, updating the current position and data type.  If the current location\n"
++" is the last entry in the ring, then the 'back' command will have no effect.\n"
++"\n"
++msgstr ""
++"\n"
++" Polecenie 'back' ('b') przechodzi do poprzedniej pozycji w kręgu,\n"
++" uaktualniając bieżącą pozycję i typ danych. Jeśli bieżąca pozycja\n"
++" jest ostatnim wpisem w kręgu, polecenie nie przyniesie efektu.\n"
++"\n"
+-#: .././repair/scan.c:1263
++#: .././db/io.c:362
+ #, c-format
+-msgid "would reset bad agf for ag %d\n"
+-msgstr "błędne agf dla ag %d zostałoby przestawione\n"
++msgid "invalid entry: %d\n"
++msgstr "błędny wpis: %d\n"
+-#: .././repair/scan.c:1268
++#: .././db/io.c:381
+ #, c-format
+-msgid "reset bad agi for ag %d\n"
+-msgstr "przestawiono błędne agi dla ag %d\n"
++msgid ""
++"\n"
++" The position ring automatically keeps track of each disk location and\n"
++" structure type for each change of position you make during your xfs_db\n"
++" session.  The last %d most recent entries are kept in the ring.\n"
++"\n"
++" To display the current list of ring entries type 'ring' by itself on\n"
++" the command line.  The entry highlighted by an asterisk ('*') is the\n"
++" current entry.\n"
++"\n"
++" To move to another entry in the ring type 'ring <num>' where <num> is\n"
++" your desired entry from the ring position list.\n"
++"\n"
++" You may also use the 'forward' ('f') or 'back' ('b') commands to move\n"
++" to the previous or next entry in the ring, respectively.\n"
++"\n"
++" Note: Unlike the 'stack', 'push' and 'pop' commands, the ring tracks your\n"
++" location implicitly.  Use the 'push' and 'pop' commands if you wish to\n"
++" store a specific location explicitly for later return.\n"
++"\n"
++msgstr ""
++"\n"
++" Krąg pozycji automatycznie śledzi każde położenie na dysku i typ struktury\n"
++" dla każdej zmiany pozycji wykonywanej podczas sesji xfs_db. Ostatenie %d\n"
++" pozycji jest trzymane w kręgu.\n"
++"\n"
++" Aby wyświetlić bieżącą listę wpisów w kręgu należy napisać w linii poleceń\n"
++" po prostu 'ring'. Wpis oznaczony gwiazdką ('*') jest wpisem bieżącym.\n"
++"\n"
++" Aby przejść do innego wpisu w kręgu, należy wpisać 'ring <numer>', gdzie\n"
++" <numer> jest numerem pożądanego wpisu na liście pozycji.\n"
++"\n"
++" Można także używać poleceń 'forward' ('f') i 'back' ('b'), aby przenieść\n"
++" się odpowiednio na poprzedni lub następny wpis w kręgu.\n"
++"\n"
++" Uwaga: w przeciwieństwie do poleceń 'stack', 'push' i 'pop', krąg śledzi\n"
++" pozycje niejawnie. Aby zapisać jawnie dane położenie w celu późniejszego\n"
++" powrotu, należy użyć poleceń 'push' i 'pop'.\n"
++"\n"
+-#: .././repair/scan.c:1271
++#: .././db/io.c:434 .././db/io.c:450
+ #, c-format
+-msgid "would reset bad agi for ag %d\n"
+-msgstr "błędna agi dla ag %d zostałoby przestawione\n"
++msgid "write error: %s\n"
++msgstr "błąd zapisu: %s\n"
+-#: .././repair/scan.c:1281
++#: .././db/io.c:440 .././db/io.c:456
+ #, c-format
+-msgid "bad uncorrected agheader %d, skipping ag...\n"
+-msgstr "błędny nie poprawiony agheader %d, pominięto ag...\n"
++msgid "read error: %s\n"
++msgstr "błąd odczytu: %s\n"
+-#: .././repair/scan.c:1340
+-msgid "no memory for ag header counts\n"
+-msgstr "brak pamięci na liczniki nagłówków ag\n"
++#: .././db/io.c:463
++msgid "nothing to write\n"
++msgstr "nie ma nic do zapisania\n"
+-#: .././repair/scan.c:1363
+-#, c-format
+-msgid "sb_icount %<PRIu64>, counted %<PRIu64>\n"
+-msgstr "sb_icount %<PRIu64>, naliczono %<PRIu64>\n"
++#: .././db/io.c:493
++msgid "set_cur no stack element to set\n"
++msgstr "set_cur: brak elementu stosu do ustawienia\n"
+-#: .././repair/scan.c:1368
++#: .././db/io.c:507
+ #, c-format
+-msgid "sb_ifree %<PRIu64>, counted %<PRIu64>\n"
+-msgstr "sb_ifree %<PRIu64>, naliczono %<PRIu64>\n"
++msgid "xfs_db got a bbmap for %lld\n"
++msgstr "xfs_db ma bbmap dla %lld\n"
++
++#: .././db/io.c:583
++msgid ""
++"\n"
++" The stack is used to explicitly store your location and data type\n"
++" for later return.  The 'push' operation stores the current address\n"
++" and type on the stack, the 'pop' operation returns you to the\n"
++" position and datatype of the top entry on the stack.\n"
++"\n"
++" The 'stack' allows explicit location saves, see 'ring' for implicit\n"
++" position tracking.\n"
++"\n"
++msgstr ""
++"\n"
++" Stos służy do jawnego zapisania pozycji i typu danych w celu późniejszego\n"
++" powrotu. Operacja 'push' zapisuje bieżący adres i typ na stosie, a operacja\n"
++" 'pop' odtwarza bieżący adres i typ danych z wierzchu stosu.\n"
++"\n"
++" Stos ('stack') pozwala na jawne zapisywanie pozycji; domyślnie pozycje są\n"
++" śledzone poprzez krąg (p. 'ring').\n"
++"\n"
+-#: .././repair/scan.c:1373
++#: .././db/malloc.c:27
+ #, c-format
+-msgid "sb_fdblocks %<PRIu64>, counted %<PRIu64>\n"
+-msgstr "sb_fdblocks %<PRIu64>, naliczono %<PRIu64>\n"
++msgid "%s: out of memory\n"
++msgstr "%s: brak pamięci\n"
+-#: .././repair/incore_ext.c:135 .././repair/incore_ext.c:562
+-msgid "couldn't allocate new extent descriptor.\n"
+-msgstr "nie udało się przydzielić nowego deskryptora ekstentu.\n"
+-
+-#: .././repair/incore_ext.c:232
+-msgid "duplicate bno extent range\n"
+-msgstr "powtórzony przedział ekstentów bno\n"
+-
+-#: .././repair/incore_ext.c:369
+-msgid ":  duplicate bno extent range\n"
+-msgstr ": powtórzony przedział ekstentów bno\n"
+-
+-#: .././repair/incore_ext.c:644 .././repair/incore_ext.c:699
+-msgid "duplicate extent range\n"
+-msgstr "powtórzony przedział ekstentów\n"
+-
+-#: .././repair/incore_ext.c:752 .././repair/incore_ext.c:756
+-msgid "couldn't malloc dup extent tree descriptor table\n"
+-msgstr "nie udało się przydzielić tablicy deskryptorów drzewa powtórzonych ekstentów\n"
+-
+-#: .././repair/incore_ext.c:761
+-msgid "couldn't malloc free by-bno extent tree descriptor table\n"
+-msgstr "nie udało się przydzielić tablicy deskryptorów drzewa wolnych ekstentów wg bno\n"
+-
+-#: .././repair/incore_ext.c:766
+-msgid "couldn't malloc free by-bcnt extent tree descriptor table\n"
+-msgstr "nie udało się przydzielić tablicy deskryptorów drzewa wolnych ekstentów wg bcnt\n"
+-
+-#: .././repair/incore_ext.c:772
+-msgid "couldn't malloc bno extent tree descriptor\n"
+-msgstr "nie udało się przydzielić deskryptora drzewa ekstentów wg bno\n"
+-
+-#: .././repair/incore_ext.c:776
+-msgid "couldn't malloc bcnt extent tree descriptor\n"
+-msgstr "nie udało się przydzielić deskryptora drzewa ekstentów wg bcnt\n"
++#: .././db/metadump.c:59
++msgid "[-e] [-g] [-m max_extent] [-w] [-o] filename"
++msgstr "[-e] [-g] [-m max_extent] [-w] [-o] nazwa-pliku"
+-#: .././repair/incore_ext.c:787
+-msgid "couldn't malloc dup rt extent tree descriptor\n"
+-msgstr "nie udało się przydzielić deskryptora drzewa powtórzonych ekstentów rt\n"
++#: .././db/metadump.c:60
++msgid "dump metadata to a file"
++msgstr "zrzut metadanych do pliku"
+-#: .././repair/bmap.c:53
++#: .././db/metadump.c:90
+ #, c-format
+ msgid ""
+-"Number of extents requested in blkmap_alloc (%d) overflows 32 bits.\n"
+-"If this is not a corruption, then you will need a 64 bit system\n"
+-"to repair this filesystem.\n"
++"\n"
++" The 'metadump' command dumps the known metadata to a compact file suitable\n"
++" for compressing and sending to an XFS maintainer for corruption analysis \n"
++" or xfs_repair failures.\n"
++"\n"
++" Options:\n"
++"   -e -- Ignore read errors and keep going\n"
++"   -g -- Display dump progress\n"
++"   -m -- Specify max extent size in blocks to copy (default = %d blocks)\n"
++"   -o -- Don't obfuscate names and extended attributes\n"
++"   -w -- Show warnings of bad metadata information\n"
++"\n"
+ msgstr ""
+-"Liczba ekstentów żądanych w blkmap_alloc (%d) przepełnia 32 bity.\n"
+-"Jeśli nie jest to efekt uszkodzenia, do naprawy tego systemu plików\n"
+-"niezbędny jest system 64-bitowy.\n"
++"\n"
++" Polecenie 'metadump' zrzuca znane metadane do zwięzłego pliku nadającego się\n"
++" do skompresowania i wysłania prowadzącym projekt XFS w celu analizy uszkodzeń\n"
++" lub błędów xfs_repair.\n"
++"\n"
++" Opcje:\n"
++"   -e - ignorowanie błędów odczytu i kontynuowanie\n"
++"   -g - wyświetlanie postępu\n"
++"   -m - określenie maksymalnego rozmiaru ekstentu (w blokach) do skopiowania\n"
++"        (domyślnie %d bloków)\n"
++"   -o - bez zaciemniania nazw i rozszerzonych atrybutów\n"
++"   -w - wyświetlanie ostrzeżeń o błędnych metadanych\n"
++"\n"
+-#: .././repair/bmap.c:66
+-#, c-format
+-msgid "malloc failed in blkmap_alloc (%zu bytes)\n"
+-msgstr "malloc nie powiodło się w blkmap_alloc (%zu bajtów)\n"
++#: .././db/output.c:30
++msgid "[stop|start <filename>]"
++msgstr "[stop|start <nazwa-pliku>]"
+-#: .././repair/bmap.c:173
+-#, c-format
+-msgid "blkmap_getn malloc failed (%<PRIu64> bytes)\n"
+-msgstr "malloc w blkmap_getn nie powiodło się (%<PRIu64> bajtów)\n"
++#: .././db/output.c:31
++msgid "start or stop logging to a file"
++msgstr "rozpoczęcie lub zakończenie logowania do pliku"
+-#: .././repair/bmap.c:253
++#: .././db/output.c:68
+ #, c-format
+-msgid ""
+-"Number of extents requested in blkmap_grow (%d) overflows 32 bits.\n"
+-"You need a 64 bit system to repair this filesystem.\n"
+-msgstr ""
+-"Liczba ekstentów żądanych w blkmap_grow (%d) przepełnia 32 bity.\n"
+-"Do naprawy tego systemu plików niezbędny jest system 64-bitowy.\n"
++msgid "logging to %s\n"
++msgstr "logowanie do %s\n"
+-#: .././repair/bmap.c:261
++#: .././db/output.c:70 .././db/output.c:77
++msgid "no log file\n"
++msgstr "brak pliku logu\n"
++
++#: .././db/output.c:80
+ #, c-format
+-msgid ""
+-"Number of extents requested in blkmap_grow (%d) overflowed the\n"
+-"maximum number of supported extents (%d).\n"
+-msgstr ""
+-"Liczba ekstentów żądanych w blkmap_grow (%d) przepełniła maksymalną\n"
+-"liczbę obsługiwanych ekstentów (%d).\n"
++msgid "already logging to %s\n"
++msgstr "już ustawiono logowanie do %s\n"
+-#: .././repair/bmap.c:269
+-msgid "realloc failed in blkmap_grow\n"
+-msgstr "realloc nie powiodło się w blkmap_grow\n"
++#: .././db/output.c:84
++#, c-format
++msgid "can't open %s for writing\n"
++msgstr "nie można otworzyć %s do zapisu\n"
+-#: .././repair/attr_repair.c:105
+-msgid "entry contains illegal value in attribute named SGI_ACL_FILE or SGI_ACL_DEFAULT\n"
+-msgstr "wpis zawiera niedozwoloną wartość w atrybucie SGI_ACL_FILE lub SGI_ACL_DEFAULT\n"
++#: .././db/output.c:90
++msgid "bad log command, ignored\n"
++msgstr "błędne polecenie logowania, zignorowano\n"
+-#: .././repair/attr_repair.c:127
+-msgid "entry contains illegal value in attribute named SGI_MAC_LABEL\n"
+-msgstr "wpis zawiera niedozwoloną wartość w atrybucie SGI_MAC_LABEL\n"
++#: .././db/print.c:41
++msgid "[value]..."
++msgstr "[wartość]..."
+-#: .././repair/attr_repair.c:133
+-msgid "entry contains illegal value in attribute named SGI_CAP_FILE\n"
+-msgstr "wpis zawiera niedozwoloną wartość w atrybucie SGI_CAP_FILE\n"
++#: .././db/print.c:42
++msgid "print field values"
++msgstr "wypisanie wartości pól"
+-#: .././repair/attr_repair.c:172
++#: .././db/print.c:79
+ #, c-format
+-msgid "there are no attributes in the fork for inode %<PRIu64>\n"
+-msgstr "nie ma atrybutów w gałęzi dla i-węzła %<PRIu64>\n"
++msgid "no print function for type %s\n"
++msgstr "brak funkcji wypisującej dla typu %s\n"
+-#: .././repair/attr_repair.c:180
+-#, c-format
+-msgid "would junk the attribute fork since count is 0 for inode %<PRIu64>\n"
+-msgstr "gałąź atrybutów zostałaby usunięta ponieważ licznik wynosi 0 dla i-węzła %<PRIu64>\n"
++#: .././db/print.c:153
++msgid "(empty)\n"
++msgstr "(puste)\n"
+-#: .././repair/attr_repair.c:200
+-msgid "zero length name entry in attribute fork,"
+-msgstr "wpis nazwy zerowej długości w gałęzi atrybutów,"
++#: .././db/print.c:215
++msgid "(empty)"
++msgstr "(puste)"
+-#: .././repair/attr_repair.c:203 .././repair/attr_repair.c:223
+-#, c-format
+-msgid " truncating attributes for inode %<PRIu64> to %d\n"
+-msgstr " ucięto atrybuty dla i-węzła %<PRIu64> do %d\n"
++#: .././db/print.c:275
++msgid "no arguments allowed\n"
++msgstr "argumenty nie są dozwolone\n"
+-#: .././repair/attr_repair.c:208 .././repair/attr_repair.c:229
+-#, c-format
+-msgid " would truncate attributes for inode %<PRIu64> to %d\n"
+-msgstr " atrybuty dla i-węzła %<PRIu64> zostałyby ucięte do %d\n"
++#: .././db/quit.c:27
++msgid "exit xfs_db"
++msgstr "zakończenie xfs_db"
+-#: .././repair/attr_repair.c:220
+-msgid "name or value attribute lengths are too large,\n"
+-msgstr "długości nazwy lub wartości atrybutów są zbyt duże,\n"
++#: .././db/sb.c:43
++msgid "set current address to sb header"
++msgstr "ustawienie bieżącego adresu na nagłówek sb"
+-#: .././repair/attr_repair.c:242
+-msgid "entry contains illegal character in shortform attribute name\n"
+-msgstr "wpis zawiera niedozwolony znak w nazwie atrybutu krótkiego\n"
++#: .././db/sb.c:45
++msgid "[uuid]"
++msgstr "[uuid]"
+-#: .././repair/attr_repair.c:248
+-msgid "entry has INCOMPLETE flag on in shortform attribute\n"
+-msgstr "wpis ma flagę NIEPEŁNY w atrybucie krótkim\n"
++#: .././db/sb.c:46
++msgid "write/print FS uuid"
++msgstr "zapisanie/wypisanie uuida FS"
+-#: .././repair/attr_repair.c:265
+-#, c-format
+-msgid "removing attribute entry %d for inode %<PRIu64>\n"
+-msgstr "usunięto wpis atrybutu %d dla i-węzła %<PRIu64>\n"
++#: .././db/sb.c:48
++msgid "[label]"
++msgstr "[etykieta]"
+-#: .././repair/attr_repair.c:277
+-#, c-format
+-msgid "would remove attribute entry %d for inode %<PRIu64>\n"
+-msgstr "wpis atrybutu %d dla i-węzła %<PRIu64> zostałby usunięty\n"
++#: .././db/sb.c:49
++msgid "write/print FS label"
++msgstr "zapisanie/wypisanie etykiety FS"
+-#: .././repair/attr_repair.c:292
+-#, c-format
+-msgid "would have corrected attribute entry count in inode %<PRIu64> from %d to %d\n"
+-msgstr "liczba wpisów atrybutów w i-węźle %<PRIu64> zostałaby poprawiona z %d na %d\n"
++#: .././db/sb.c:51
++msgid "[feature | [vnum fnum]]"
++msgstr "[cecha | [vnum fnum]]"
+-#: .././repair/attr_repair.c:296
+-#, c-format
+-msgid "corrected attribute entry count in inode %<PRIu64>, was %d, now %d\n"
+-msgstr "poprawiono liczbę wpisów atrybutów w i-węźle %<PRIu64> - było %d, jest %d\n"
++#: .././db/sb.c:52
++msgid "set feature bit(s) in the sb version field"
++msgstr "ustawienie bitów cech w polu wersji sb"
+-#: .././repair/attr_repair.c:307
+-#, c-format
+-msgid "would have corrected attribute totsize in inode %<PRIu64> from %d to %d\n"
+-msgstr "totsize atrybutów w i-węźle %<PRIu64> zostałby poprawiony z %d na %d\n"
++#: .././db/sb.c:136
++msgid ""
++"\n"
++" set allocation group superblock\n"
++"\n"
++" Example:\n"
++"\n"
++" 'sb 7' - set location to 7th allocation group superblock, set type to 'sb'\n"
++"\n"
++" Located in the first sector of each allocation group, the superblock\n"
++" contains the base information for the filesystem.\n"
++" The superblock in allocation group 0 is the primary.  The copies in the\n"
++" remaining allocation groups only serve as backup for filesystem recovery.\n"
++" The icount/ifree/fdblocks/frextents are only updated in superblock 0.\n"
++"\n"
++msgstr ""
++"\n"
++" ustawienie superbloku grupy alokacji\n"
++"\n"
++" Przykład:\n"
++"\n"
++" 'sb 7' - ustawienie pozycji na superblok 7. grupy alokacji i typu na 'sb'\n"
++"\n"
++" Położony w 1. sektorze każdej grupy alokacji superblok zawiera podstawowe\n"
++" informacje o systemie plików.\n"
++" Superblok w grupie alokacji 0 jest główny. Kopie w pozostałych grupach\n"
++" alokacji służą tylko jako kopie zapasowe do odtwarzania systemu plików.\n"
++" Liczby icount/ifree/fdblocks/frextents są uaktualniane tylko w superbloku 0.\n"
++"\n"
+-#: .././repair/attr_repair.c:312
++#: .././db/sb.c:195
+ #, c-format
+-msgid "corrected attribute entry totsize in inode %<PRIu64>, was %d, now %d\n"
+-msgstr "poprawiono totsize wpisu atrybutów w i-węźle %<PRIu64> - było %d, jest %d\n"
++msgid "can't read superblock for AG %u\n"
++msgstr "nie można odczytać superbloku dla AG %u\n"
+-#: .././repair/attr_repair.c:342
++#: .././db/sb.c:203
+ #, c-format
+-msgid "remote block for attributes of inode %<PRIu64> is missing\n"
+-msgstr "brak odległego bloku dla atrybutów i-węzła %<PRIu64>\n"
++msgid "bad sb magic # %#x in AG %u\n"
++msgstr "błędna liczba magiczna superbloku %#x w AG %u\n"
+-#: .././repair/attr_repair.c:350
++#: .././db/sb.c:208
+ #, c-format
+-msgid "can't read remote block for attributes of inode %<PRIu64>\n"
+-msgstr "nie można odczytać odległego bloku dla atrybutów i-węzła %<PRIu64>\n"
++msgid "bad sb version # %#x in AG %u\n"
++msgstr "błędny numer wersji superbloku %#x w AG %u\n"
+-#: .././repair/attr_repair.c:388
+-#, c-format
+-msgid "attribute entry %d in attr block %u, inode %<PRIu64> has bad name (namelen = %d)\n"
+-msgstr "wpis atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64> ma błędną nazwę (namelen = %d)\n"
++#: .././db/sb.c:233
++msgid "aborting - external log specified for FS with an internal log\n"
++msgstr "przerwano - podano log zewnętrzny dla systemu plików z logiem wewnętrznym\n"
+-#: .././repair/attr_repair.c:405
+-#, c-format
+-msgid "bad hashvalue for attribute entry %d in attr block %u, inode %<PRIu64>\n"
+-msgstr "błędna wartość hasza dla wpisu atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64>\n"
++#: .././db/sb.c:239
++msgid "aborting - no external log specified for FS with an external log\n"
++msgstr "przerwano - nie podano logu zewnętrznego dla systemu plików z logiem zewnętrznym\n"
+-#: .././repair/attr_repair.c:415
+-#, c-format
+-msgid "bad security value for attribute entry %d in attr block %u, inode %<PRIu64>\n"
+-msgstr "błędna wartość bezpieczeństwa dla wpisu atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64>\n"
++#: .././db/sb.c:261
++msgid "ERROR: cannot find log head/tail, run xfs_repair\n"
++msgstr "BŁĄD: nie odnaleziono początku/końca logu, proszę uruchomić xfs_repair\n"
+-#: .././repair/attr_repair.c:448
++#: .././db/sb.c:266
+ #, c-format
+-msgid "inconsistent remote attribute entry %d in attr block %u, ino %<PRIu64>\n"
+-msgstr "niespójny wpis odległego atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64>\n"
+-
+-#: .././repair/attr_repair.c:458
+-#, c-format
+-msgid "cannot malloc enough for remotevalue attribute for inode %<PRIu64>\n"
+-msgstr "nie można przydzielić wystarczająco dużo dla atrybutu remotevalue dla i-węzła %<PRIu64>\n"
+-
+-#: .././repair/attr_repair.c:460
+-msgid "SKIPPING this remote attribute\n"
+-msgstr "POMINIĘTO ten atrybut odległy\n"
++msgid ""
++"ERROR: The filesystem has valuable metadata changes in a log which needs to\n"
++"be replayed.  Mount the filesystem to replay the log, and unmount it before\n"
++"re-running %s.  If you are unable to mount the filesystem, then use\n"
++"the xfs_repair -L option to destroy the log and attempt a repair.\n"
++"Note that destroying the log may cause corruption -- please attempt a mount\n"
++"of the filesystem before doing this.\n"
++msgstr ""
++"BŁĄD: system plików zawiera wartościowe zmiany metadanych w logu, który\n"
++"musi być odtworzony. Należy podmontować system plików, aby odtworzyć log,\n"
++"a następnie odmontować go przed ponownym uruchomieniem %s. Jeśli\n"
++"systemu plików nie da się podmontować, można użyć opcji -L, aby zniszczyć\n"
++"log i spróbować naprawić system plików.\n"
++"Należy zauważyć, że zniszczenie logu może spowodować uszkodzenia danych -\n"
++"proszę najpierw spróbować podmontować system plików.\n"
+-#: .././repair/attr_repair.c:466
+-#, c-format
+-msgid "remote attribute get failed for entry %d, inode %<PRIu64>\n"
+-msgstr "pobranie odległego atrybutu nie powiodło się dla wpisu %d, i-węzła %<PRIu64>\n"
++#: .././db/sb.c:283
++msgid "Clearing log and setting UUID\n"
++msgstr "Czyszczenei logu i ustawianie UUID-a\n"
+-#: .././repair/attr_repair.c:473
+-#, c-format
+-msgid "remote attribute value check failed for entry %d, inode %<PRIu64>\n"
+-msgstr "sprawdzenie wartości odległego atrybutu nie powiodło się dla wpisu %d, i-węzła %<PRIu64>\n"
++#: .././db/sb.c:291
++msgid "ERROR: cannot clear the log\n"
++msgstr "BŁĄD: nie można wyczyścić logu\n"
+-#: .././repair/attr_repair.c:510
+-#, c-format
+-msgid "bad attribute count %d in attr block %u, inode %<PRIu64>\n"
+-msgstr "błędna liczba atrybutów %d w bloku atrybutów %u, i-węźle %<PRIu64>\n"
++#: .././db/sb.c:302
++msgid ""
++"\n"
++" write/print FS uuid\n"
++"\n"
++" Example:\n"
++"\n"
++" 'uuid'                                      - print UUID\n"
++" 'uuid 01234567-0123-0123-0123-0123456789ab' - write UUID\n"
++" 'uuid generate'                             - generate and write\n"
++" 'uuid rewrite'                              - copy UUID from SB 0\n"
++"\n"
++"The print function checks the UUID in each SB and will warn if the UUIDs\n"
++"differ between AGs (the log is not checked). The write commands will\n"
++"set the uuid in all AGs to either a specified value, a newly generated\n"
++"value or the value found in the first superblock (SB 0) respectively.\n"
++"As a side effect of writing the UUID, the log is cleared (which is fine\n"
++"on a CLEANLY unmounted FS).\n"
++"\n"
++msgstr ""
++"\n"
++" zapisanie/wypisanie uuida systemu plików\n"
++"\n"
++"Przykład:\n"
++"\n"
++" 'uuid'                                      - wypisanie UUID-a\n"
++" 'uuid 01234567-0123-0123-0123-0123456789ab' - zapisanie UUID-a\n"
++" 'uuid generate'                             - wygenerowanie i zapisanie\n"
++" 'uuid rewrite'                              - skopiowanie UUID-a z sb 0\n"
++"\n"
++"Funkcja wypisująca sprawdza UUID w każdym superbloku i ostrzega, jeśli UUID-y\n"
++"się różnią między AG (log nie jest sprawdzany). Polecenia zapisu ustawiają\n"
++"UUID we wszystkich AG odpowiednio na określoną wartość, nowo wygenerowaną\n"
++"wartość lub wartość znalezioną w pierwszym superbloku (SB 0).\n"
++"Jako efekt uboczny zapisu UUID-a czyszczony jest log (co nie jest problemem\n"
++"przy CZYSTO odmontowanym systemie plików).\n"
++"\n"
+-#: .././repair/attr_repair.c:525
+-#, c-format
+-msgid "bad attribute nameidx %d in attr block %u, inode %<PRIu64>\n"
+-msgstr "błędny nameidx atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64>\n"
++#: .././db/sb.c:354 .././db/sb.c:506
++msgid "invalid parameters\n"
++msgstr "błędne parametry\n"
+-#: .././repair/attr_repair.c:534
++#: .././db/sb.c:361 .././db/sb.c:513 .././db/sb.c:670
+ #, c-format
+-msgid "attribute entry #%d in attr block %u, inode %<PRIu64> is INCOMPLETE\n"
+-msgstr "wpis atrybutu #%d w bloku atrybutów %u, i-węźle %<PRIu64> jest NIEPEŁNY\n"
++msgid "%s: not in expert mode, writing disabled\n"
++msgstr "%s: nie w trybie expert, zapis wyłączony\n"
+-#: .././repair/attr_repair.c:545
+-#, c-format
+-msgid "attribute entry %d in attr block %u, inode %<PRIu64> claims already used space\n"
+-msgstr "wpis atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64> odwołuje się do już użytego miejsca\n"
++#: .././db/sb.c:373
++msgid "failed to read UUID from AG 0\n"
++msgstr "nie udało się odczytać UUID-a z AG 0\n"
+-#: .././repair/attr_repair.c:568
++#: .././db/sb.c:378
+ #, c-format
+-msgid "attribute entry %d in attr block %u, inode %<PRIu64> claims used space\n"
+-msgstr "wpis atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64> odwołuje się do używanego miejsca\n"
++msgid "old UUID = %s\n"
++msgstr "stary UUID = %s\n"
+-#: .././repair/attr_repair.c:592
+-#, c-format
+-msgid "- resetting first used heap value from %d to %d in block %u of attribute fork of inode %<PRIu64>\n"
+-msgstr "- przestawiono pierwszą używaną wartość sterty z %d na %d w bloku %u gałęzi atrybutów i-węzła %<PRIu64>\n"
++#: .././db/sb.c:381
++msgid "invalid UUID\n"
++msgstr "błędny UUID\n"
+-#: .././repair/attr_repair.c:600
+-#, c-format
+-msgid "- would reset first used value from %d to %d in block %u of attribute fork of inode %<PRIu64>\n"
+-msgstr "- pierwsza używana wartość zostałaby przestawiona z %d na %d w bloku %u gałęzi atrybutów i-węzła %<PRIu64>\n"
++#: .././db/sb.c:390 .././db/sb.c:518 .././db/sb.c:756
++msgid "writing all SBs\n"
++msgstr "zapisywanie wszystkich superbloków\n"
+-#: .././repair/attr_repair.c:610
++#: .././db/sb.c:393
+ #, c-format
+-msgid "- resetting usedbytes cnt from %d to %d in block %u of attribute fork of inode %<PRIu64>\n"
+-msgstr "- przestawiono liczbę użytych bajtów z %d na %d w bloku %u gałęzi atrybutów i-węzła %<PRIu64>\n"
++msgid "failed to set UUID in AG %d\n"
++msgstr "nie udało się ustawić UUID-a w AG %d\n"
+-#: .././repair/attr_repair.c:618
++#: .././db/sb.c:398
+ #, c-format
+-msgid "- would reset usedbytes cnt from %d to %d in block %u of attribute fork of %<PRIu64>\n"
+-msgstr "- liczba użytych bajtów zostałaby przestawiona z %d na %d w bloku %u gałęzi atrybutów i-węzła %<PRIu64>\n"
++msgid "new UUID = %s\n"
++msgstr "nowy UUID = %s\n"
+-#: .././repair/attr_repair.c:670
++#: .././db/sb.c:406
+ #, c-format
+-msgid "can't map block %u for attribute fork for inode %<PRIu64>\n"
+-msgstr "nie można odwzorować bloku %u dla gałęzi atrybutów dla i-węzła %<PRIu64>\n"
++msgid "failed to read UUID from AG %d\n"
++msgstr "nie udało się odczytać UUID-a z AG %d\n"
+-#: .././repair/attr_repair.c:679
++#: .././db/sb.c:412
+ #, c-format
+-msgid "can't read file block %u (fsbno %<PRIu64>) for attribute fork of inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku pliku %u (fsbno %<PRIu64>) dla gałęzi atrybutów i-węzła %<PRIu64>\n"
++msgid "warning: UUID in AG %d differs to the primary SB\n"
++msgstr "uwaga: UUID w AG %d różni się od głównego SB\n"
+-#: .././repair/attr_repair.c:689
+-#, c-format
+-msgid "bad attribute leaf magic %#x for inode %<PRIu64>\n"
+-msgstr "błędna liczba magiczna liścia atrybutu %#x dla i-węzła %<PRIu64>\n"
++#: .././db/sb.c:423
++msgid "warning - external log specified for FS with an internal log\n"
++msgstr "uwaga: podano log zewnętrzny dla systemu plików z logiem wewnętrznym\n"
+-#: .././repair/attr_repair.c:720
+-#, c-format
+-msgid "bad sibling back pointer for block %u in attribute fork for inode %<PRIu64>\n"
+-msgstr "błędny wskaźnik wsteczny dla bloku %u w gałęzi atrybutów dla i-węzła %<PRIu64>\n"
++#: .././db/sb.c:426
++msgid "warning - no external log specified for FS with an external log\n"
++msgstr "uwaga: nie podano logu zewnętrznego dla systemu plików z logiem zewnętrznym\n"
+-#: .././repair/attr_repair.c:747
++#: .././db/sb.c:431
+ #, c-format
+-msgid "bad hash path in attribute fork for inode %<PRIu64>\n"
+-msgstr "błędna ścieżka hasza w gałęzi atrybutów dla i-węzła %<PRIu64>\n"
++msgid "UUID = %s\n"
++msgstr "UUID = %s\n"
+-#: .././repair/attr_repair.c:846
+-#, c-format
+-msgid "block 0 of inode %<PRIu64> attribute fork is missing\n"
+-msgstr "brak bloku 0 i-węzła %<PRIu64> gałęzi atrybutów\n"
++#: .././db/sb.c:442
++msgid ""
++"\n"
++" write/print FS label\n"
++"\n"
++" Example:\n"
++"\n"
++" 'label'              - print label\n"
++" 'label 123456789012' - write label\n"
++" 'label --'           - write an empty label\n"
++"\n"
++"The print function checks the label in each SB and will warn if the labels\n"
++"differ between AGs. The write commands will set the label in all AGs to the\n"
++"specified value.  The maximum length of a label is 12 characters - use of a\n"
++"longer label will result in truncation and a warning will be issued.\n"
++"\n"
++msgstr ""
++"\n"
++" zapisanie/wypisanie etykiety systemu plików\n"
++"\n"
++" Przykład:\n"
++"\n"
++" 'label'              - wypisanie etykiety\n"
++" 'label 123456789012' - zapisanie etykiety\n"
++" 'label --'           - zapisanie etykiety pustej\n"
++"\n"
++"Funkcja wypisująca sprawdza etykietę w każdym superbloku i ostrzega, jeśli\n"
++"etykiety różnią się między AG. Polecenia zapisu ustawiają etykietw we\n"
++"wszystkich AG na określoną wartość. Maksymalna długość etykiety to 12 znaków;\n"
++"użycie etykiety dłuższej zaskutkuje ucięciem jej i wypisaniem ostrzeżenia.\n"
++"\n"
+-#: .././repair/attr_repair.c:853
++#: .././db/sb.c:479
+ #, c-format
+-msgid "agno of attribute fork of inode %<PRIu64> out of regular partition\n"
+-msgstr "agno gałęzi atrybutów i-węzła %<PRIu64> spoza zwykłej partycji\n"
++msgid "%s: truncating label length from %d to %d\n"
++msgstr "%s: skrócono długość etykiety z %d do %d\n"
+-#: .././repair/attr_repair.c:861
++#: .././db/sb.c:521
+ #, c-format
+-msgid "can't read block 0 of inode %<PRIu64> attribute fork\n"
+-msgstr "nie można odczytać bloku 0 i-węzła %<PRIu64> gałęzi atrybutów\n"
++msgid "failed to set label in AG %d\n"
++msgstr "nie udało się ustawić etykiety w AG %d\n"
+-#: .././repair/attr_repair.c:876
++#: .././db/sb.c:524
+ #, c-format
+-msgid "clearing forw/back pointers in block 0 for attributes in inode %<PRIu64>\n"
+-msgstr "wyczyszczono wskaźniki forw/back w bloku 0 dla atrybutów w i-węźle %<PRIu64>\n"
++msgid "new label = \"%s\"\n"
++msgstr "nowa etykieta = \"%s\"\n"
+-#: .././repair/attr_repair.c:883
++#: .././db/sb.c:531
+ #, c-format
+-msgid "would clear forw/back pointers in block 0 for attributes in inode %<PRIu64>\n"
+-msgstr "wskaźniki forw/back w bloku 0 dla atrybutów w i-węźle %<PRIu64> zostałyby wyczyszczone\n"
++msgid "failed to read label in AG %d\n"
++msgstr "nie udało się odczytać etykiety w AG %d\n"
+-#: .././repair/attr_repair.c:913
++#: .././db/sb.c:537
+ #, c-format
+-msgid "bad attribute leaf magic # %#x for dir ino %<PRIu64>\n"
+-msgstr "błędna liczba magiczna liścia atrybutu %#x dla i-węzła katalogu %<PRIu64>\n"
++msgid "warning: AG %d label differs\n"
++msgstr "uwaga: etykieta w AG %d różni się\n"
+-#: .././repair/attr_repair.c:938
++#: .././db/sb.c:539
+ #, c-format
+-msgid "Too many ACL entries, count %d\n"
+-msgstr "Za dużo wpisów ACL, liczba %d\n"
++msgid "label = \"%s\"\n"
++msgstr "etykieta = \"%s\"\n"
+-#: .././repair/attr_repair.c:947
+-msgid "cannot malloc enough for ACL attribute\n"
+-msgstr "nie można wykonać wystarczającego malloc dla atrybutu ACL\n"
++#: .././db/sb.c:549
++msgid ""
++"\n"
++" set/print feature bits in sb version\n"
++"\n"
++" Example:\n"
++"\n"
++" 'version'          - print current feature bits\n"
++" 'version extflg'   - enable unwritten extents\n"
++" 'version attr1'    - enable v1 inline extended attributes\n"
++" 'version attr2'    - enable v2 inline extended attributes\n"
++" 'version log2'     - enable v2 log format\n"
++"\n"
++"The version function prints currently enabled features for a filesystem\n"
++"according to the version field of its primary superblock.\n"
++"It can also be used to enable selected features, such as support for\n"
++"unwritten extents.  The updated version is written into all AGs.\n"
++"\n"
++msgstr ""
++"\n"
++" ustawienie/wypisanie bitów cech w wersji superbloku\n"
++"\n"
++" Przykład:\n"
++"\n"
++" 'version'          - wypisanie bieżących bitów cech\n"
++" 'version extflg'   - włączenie nie zapisanych ekstentów\n"
++" 'version attr1'    - włączenie rozszerzonych atrybutów inline v1\n"
++" 'version attr2'    - włączenie rozszerzonych atrybutów inline v2\n"
++" 'version log2'     - włączenie formatu logu v2\n"
++"\n"
++"Funkcja 'version' wypisuje aktualnie włączone cechy dla systemu plików\n"
++"zgodnie z polem wersji w głównym superbloku.\n"
++"Może być używana także do włączania wybranych cech, takich jak obsługa\n"
++"nie zapisanych ekstentów. Uaktualniona wersja jest zapisywana we wszystkich\n"
++"AG.\n"
++"\n"
+-#: .././repair/attr_repair.c:948
+-msgid "SKIPPING this ACL\n"
+-msgstr "POMINIĘTO ten ACL\n"
++#: .././db/sb.c:578
++msgid "Superblock has mismatched features2 fields, skipping modification\n"
++msgstr "Superblok ma niepasujące pola features2, pominięto modyfikację\n"
+-#: .././repair/incore_ino.c:47
+-msgid "could not allocate nlink array\n"
+-msgstr "Nie udało się przydzielić tablicy nlink\n"
++#: .././db/sb.c:690
++msgid "unwritten extents flag is already enabled\n"
++msgstr "flaga nie zapisanych ekstentów jest już włączona\n"
+-#: .././repair/incore_ino.c:233
+-msgid "inode map malloc failed\n"
+-msgstr "przydzielenie mapy i-węzłów nie powiodło się\n"
++#: .././db/sb.c:697
++msgid "unwritten extents always enabled for v5 superblocks.\n"
++msgstr "nie zapisane ekstenty są zawsze włączone dla superbloków v5.\n"
+-#: .././repair/incore_ino.c:340
+-msgid "add_aginode_uncertain - duplicate inode range\n"
+-msgstr "add_aginode_uncertain - powtórzony przedział i-węzłów\n"
++#: .././db/sb.c:714
++msgid "version 2 log format is already in use\n"
++msgstr "format logu w wersji 2 jest już w użyciu\n"
+-#: .././repair/incore_ino.c:435
+-msgid "add_inode - duplicate inode range\n"
+-msgstr "add_inode - powtórzony przedział i-węzłów\n"
++#: .././db/sb.c:721
++msgid "Version 2 logs always enabled for v5 superblocks.\n"
++msgstr "Logi w wersji 2 są zawsze włączone dla superbloków v5.\n"
+-#: .././repair/incore_ino.c:529
++#: .././db/sb.c:726
+ #, c-format
+-msgid "good inode list is --\n"
+-msgstr "lista dobrych i-węzłów to:\n"
++msgid "%s: Cannot change %s on v5 superblocks.\n"
++msgstr "%s: Nie można zmienić %s przy superblokach v5.\n"
+-#: .././repair/incore_ino.c:532
++#: .././db/sb.c:750
+ #, c-format
+-msgid "uncertain inode list is --\n"
+-msgstr "lista niepewnych i-węzłów to:\n"
++msgid "%s: invalid version change command \"%s\"\n"
++msgstr "%s: błędne polecenie zmiany wersji \"%s\"\n"
+-#: .././repair/incore_ino.c:537
++#: .././db/sb.c:759
+ #, c-format
+-msgid "agno %d -- no inodes\n"
+-msgstr "agno %d - brak i-węzłów\n"
++msgid "failed to set versionnum in AG %d\n"
++msgstr "nie udało się ustawić versionnum w AG %d\n"
+-#: .././repair/incore_ino.c:541
++#: .././db/sb.c:777
+ #, c-format
+-msgid "agno %d\n"
+-msgstr "agno %d\n"
+-
+-#: .././repair/incore_ino.c:545
+-#, c-format
+-msgid "\tptr = %lx, start = 0x%x, free = 0x%llx, confirmed = 0x%llx\n"
+-msgstr "\tptr = %lx, start = 0x%x, wolne = 0x%llx, potwierdzone = 0x%llx\n"
++msgid "versionnum [0x%x+0x%x] = %s\n"
++msgstr "versionnum [0x%x+0x%x] = %s\n"
+-#: .././repair/incore_ino.c:596
+-msgid "couldn't malloc parent list table\n"
+-msgstr "nie udało się przydzielić tablicy listy rodziców\n"
++#: .././db/type.c:49
++msgid "[newtype]"
++msgstr "[nowy-typ]"
+-#: .././repair/incore_ino.c:607 .././repair/incore_ino.c:653
+-msgid "couldn't memalign pentries table\n"
+-msgstr "nie udało się memalign na tablicy pentries\n"
++#: .././db/type.c:50
++msgid "set/show current data type"
++msgstr "ustawienie/wyświetlenie bieżącego typu danych"
+-#: .././repair/incore_ino.c:711
+-msgid "could not malloc inode extra data\n"
+-msgstr "nie udało się przydzielić dodatkowych danych i-węzła\n"
++#: .././db/type.c:144
++#, c-format
++msgid "current type is \"%s\"\n"
++msgstr "bieżący typ to \"%s\"\n"
+-#: .././repair/incore_ino.c:777
+-msgid "couldn't malloc inode tree descriptor table\n"
+-msgstr "nie udało się przydzielić tablicy deskryptorów drzewa i-węzłów\n"
++#: .././db/type.c:146
++msgid ""
++"\n"
++" supported types are:\n"
++" "
++msgstr ""
++"\n"
++" obsługiwane typy to:\n"
++" "
+-#: .././repair/incore_ino.c:781
+-msgid "couldn't malloc uncertain ino tree descriptor table\n"
+-msgstr "nie udało się przydzielić tablicy deskryptorów drzewa i-węzłów niepewnych\n"
++#: .././db/type.c:163
++#, c-format
++msgid "no such type %s\n"
++msgstr "nie ma typu %s\n"
+-#: .././repair/incore_ino.c:786
+-msgid "couldn't malloc inode tree descriptor\n"
+-msgstr "nie udało się przydzielić deskryptora drzewa i-węzłów\n"
++#: .././db/type.c:166
++msgid "no current object\n"
++msgstr "brak bieżącego obiektu\n"
+-#: .././repair/incore_ino.c:790
+-msgid "couldn't malloc uncertain ino tree descriptor\n"
+-msgstr "nie udało się przydzielić deskryptora drzewa i-węzłów niepewnych\n"
++#: .././db/write.c:41
++msgid "[field or value]..."
++msgstr "[pole lub wartość]..."
+-#: .././repair/incore_ino.c:798
+-msgid "couldn't malloc uncertain inode cache area\n"
+-msgstr "nie udało się przydzielić obszaru pamięci podręcznej i-węzłów niepewnych\n"
++#: .././db/write.c:42
++msgid "write value to disk"
++msgstr "zapis wartości na dysk"
+-#: .././repair/dir.c:152
+-#, c-format
+-msgid "invalid inode number %<PRIu64> in directory %<PRIu64>\n"
+-msgstr "błędny numer i-węzła %<PRIu64> w katalogu %<PRIu64>\n"
++#: .././db/write.c:58
++msgid ""
++"\n"
++" The 'write' command takes on different personalities depending on the\n"
++" type of object being worked with.\n"
++"\n"
++" Write has 3 modes:\n"
++"  'struct mode' - is active anytime you're looking at a filesystem object\n"
++"                  which contains individual fields (ex: an inode).\n"
++"  'data mode'   - is active anytime you set a disk address directly or set\n"
++"                  the type to 'data'.\n"
++"  'string mode' - only used for writing symlink blocks.\n"
++"\n"
++" Examples:\n"
++"  Struct mode: 'write core.uid 23'          - set an inode uid field to 23.\n"
++"               'write fname \"hello\\000\"'    - write superblock fname.\n"
++"               (note: in struct mode strings are not null terminated)\n"
++"               'write fname #6669736800'    - write superblock fname with hex.\n"
++"               'write uuid 00112233-4455-6677-8899-aabbccddeeff'\n"
++"                                            - write superblock uuid.\n"
++"  Data mode:   'write fill 0xff' - fill the entire block with 0xff's\n"
++"               'write lshift 3' - shift the block 3 bytes to the left\n"
++"               'write sequence 1 5' - write a cycle of number [1-5] through\n"
++"                                      the entire block.\n"
++"  String mode: 'write \"This_is_a_filename\" - write null terminated string.\n"
++"\n"
++" In data mode type 'write' by itself for a list of specific commands.\n"
++"\n"
++msgstr ""
++"\n"
++" Polecenie 'write' ma różne osobowości w zależności od rodzaju obiektu,\n"
++" na jakim pracuje.\n"
++"\n"
++" Zapis ma trzy tryby:\n"
++"  'struct' (strukturalny) - aktywny w przypadku oglądania obiektu systemu\n"
++"                   plików zawierającego poszczególne pola (np. i-węzeł).\n"
++"  'data' (danych) - aktywny w przypadku bezpośredniego ustawienia adresu\n"
++"                   na dysku lub ustawienia typu na 'data'.\n"
++"  'string' (znakowy) - używany tylko przy zapisie bloków dowiązań\n"
++"                   symbolicznych.\n"
++"\n"
++" Przykłady:\n"
++"  Tryb strukturalny: 'write core.uid 23' - ustawienie pola uid i-węzła na 23\n"
++"                     'write fname \"hello\\000\"' - zapis nazwy pliku sb\n"
++"                     (uwaga: w trybie strukturalnym łańcuchy nie są zakańczane)\n"
++"                     'write fname #6669736800' - zapis nazwy pliku sb w hex.\n"
++"                     'write uuid 00112233-4455-6677-8899-aabbccddeeff'\n"
++"                               - zapis UUID-a superbloku.\n"
++"  Tryb danych:       'write fill 0xff' - wypełnienie bloku bajtam 0xff\n"
++"                     'write lshift 3' - przesunięcie bloku o 3 bajty w lewo\n"
++"                     'write sequence 1 5' zapis cyklicznie liczb [1-5] przez\n"
++"                               cały blok.\n"
++"  Tryb znakowy:      'write \"To_jest_nazwa_pliku\" - zapis łańcucha\n"
++"                               zakończonego znakiem NUL.\n"
++"\n"
++" W trybie danych samo 'write' wypisze listę bardziej specyficznych poleceń.\n"
++"\n"
+-#: .././repair/dir.c:157
++#: .././db/write.c:95
+ #, c-format
+-msgid "entry in shortform dir %<PRIu64> references rt bitmap inode %<PRIu64>\n"
+-msgstr "wpis w krótkim katalogu %<PRIu64> odwołuje się do i-węzła bitmapy rt %<PRIu64>\n"
++msgid "%s started in read only mode, writing disabled\n"
++msgstr "%s uruchomiono w trybie tylko do odczytu, zapis wyłączony\n"
+-#: .././repair/dir.c:162
++#: .././db/write.c:107
+ #, c-format
+-msgid "entry in shortform dir %<PRIu64> references rt summary inode %<PRIu64>\n"
+-msgstr "wpis w krótkim katalogu %<PRIu64> odwołuje się do i-węzła opisu rt %<PRIu64>\n"
++msgid "no handler function for type %s, write unsupported.\n"
++msgstr "brak funkcji obsługującej dla typu %s, zapis nie obsługiwany.\n"
+-#: .././repair/dir.c:167
++#: .././db/write.c:167 .././db/write.c:196 .././db/write.c:226
++#: .././db/write.c:259 .././db/write.c:295 .././db/write.c:344
++#: .././db/write.c:373
+ #, c-format
+-msgid "entry in shortform dir %<PRIu64> references user quota inode %<PRIu64>\n"
+-msgstr "wpis w krótkim katalogu %<PRIu64> odwołuje się do i-węzła limitu użytkownika %<PRIu64>\n"
++msgid "length (%d) too large for data block size (%d)"
++msgstr "długość (%d) zbyt duża dla rozmiaru bloku danych (%d)"
+-#: .././repair/dir.c:172
+-#, c-format
+-msgid "entry in shortform dir %<PRIu64> references group quota inode %<PRIu64>\n"
+-msgstr "wpis w krótkim katalogu %<PRIu64> odwołuje się do i-węzła limitu grupy %<PRIu64>\n"
++#: .././db/write.c:615
++msgid "usage: write fieldname value\n"
++msgstr "składnia: write nazwa-pola wartość\n"
+-#: .././repair/dir.c:193
++#: .././db/write.c:621
+ #, c-format
+-msgid "entry references free inode %<PRIu64> in shortform directory %<PRIu64>\n"
+-msgstr "wpis odwołuje się do wolnego i-węzła %<PRIu64> w krótkim katalogu %<PRIu64>\n"
++msgid "unable to parse '%s'.\n"
++msgstr "nie można przeanalizować '%s'.\n"
+-#: .././repair/dir.c:212
+-#, c-format
+-msgid "entry references non-existent inode %<PRIu64> in shortform dir %<PRIu64>\n"
+-msgstr "wpis odwołuje się do nie istniejącego i-węzła %<PRIu64> w krótkim katalogu %<PRIu64>\n"
++#: .././db/write.c:635
++msgid "parsing error\n"
++msgstr "błąd składni\n"
+-#: .././repair/dir.c:236 .././repair/dir2.c:995
++#: .././db/write.c:654
+ #, c-format
+-msgid "zero length entry in shortform dir %<PRIu64>, resetting to %d\n"
+-msgstr "wpis zerowej długości w krótkim katalogu %<PRIu64>, przestawiono na %d\n"
++msgid "unable to convert value '%s'.\n"
++msgstr "nie można przekonwertować wartości '%s'.\n"
+-#: .././repair/dir.c:241 .././repair/dir2.c:1000
+-#, c-format
+-msgid "zero length entry in shortform dir %<PRIu64>, would set to %d\n"
+-msgstr "wpis zerowej długości w krótkim katalogu %<PRIu64>, zostałby przestawiony na %d\n"
++#: .././db/write.c:677
++msgid "usage (in string mode): write \"string...\"\n"
++msgstr "składnia (w trybie znakowym): write \"łańcuch...\"\n"
+-#: .././repair/dir.c:246
+-#, c-format
+-msgid "zero length entry in shortform dir %<PRIu64>, "
+-msgstr "wpis zerowej długości w krótkim katalogu %<PRIu64>, "
++#: .././db/write.c:719
++msgid "write: invalid subcommand\n"
++msgstr "write: błędne podpolecenie\n"
+-#: .././repair/dir.c:249 .././repair/dir.c:292 .././repair/dir2.c:1051
++#: .././db/write.c:724
+ #, c-format
+-msgid "junking %d entries\n"
+-msgstr "wyrzucono %d wpisów\n"
++msgid "write %s: invalid number of arguments\n"
++msgstr "write %s: błędna liczba argumentów\n"
+-#: .././repair/dir.c:252 .././repair/dir.c:301 .././repair/dir2.c:1060
+-#, c-format
+-msgid "would junk %d entries\n"
+-msgstr "%d wpisów zostałoby wyrzuconych\n"
++#: .././db/write.c:748
++msgid "usage: write (in data mode)\n"
++msgstr "składnia: write (w trybie danych)\n"
+-#: .././repair/dir.c:270 .././repair/dir2.c:1029
++#: .././estimate/xfs_estimate.c:78
+ #, c-format
+-msgid "size of last entry overflows space left in in shortform dir %<PRIu64>, "
+-msgstr "rozmiar ostatniego wpisu przekracza miejsce pozostałe w krótkim katalogu %<PRIu64>, "
++msgid ""
++"Usage: %s [opts] directory [directory ...]\n"
++"\t-b blocksize (fundamental filesystem blocksize)\n"
++"\t-i logsize (internal log size)\n"
++"\t-e logsize (external log size)\n"
++"\t-v prints more verbose messages\n"
++"\t-V prints version and exits\n"
++"\t-h prints this usage message\n"
++"\n"
++"Note:\tblocksize may have 'k' appended to indicate x1024\n"
++"\tlogsize may also have 'm' appended to indicate (1024 x 1024)\n"
++msgstr ""
++"Składnia: %s [opcje] katalog [katalog ...]\n"
++"\t-b rozmiar_bloku (rozmiar bloku zasadniczego systemu plików)\n"
++"\t-i rozmiar_logu (rozmiar logu wewnętrznego)\n"
++"\t-e rozmiar_logu (rozmiar logu zewnętrznego)\n"
++"\t-v wypisywanie bardziej szczegółowych komunikatów\n"
++"\t-V wypisanie informacji o wersji i zakończenie\n"
++"\t-h wypisanie tej informacji o sposobie użycia\n"
++"\n"
+-#: .././repair/dir.c:273 .././repair/dir2.c:1032
++#: .././estimate/xfs_estimate.c:109
+ #, c-format
+-msgid "resetting to %d\n"
+-msgstr "przestawiono na %d\n"
++msgid "blocksize %llu too small\n"
++msgstr "rozmiar bloku %llu jest zbyt mały\n"
+-#: .././repair/dir.c:278 .././repair/dir2.c:1037
++#: .././estimate/xfs_estimate.c:114
+ #, c-format
+-msgid "would reset to %d\n"
+-msgstr "zostałby przestawiony na %d\n"
++msgid "blocksize %llu too large\n"
++msgstr "rozmiar bloku %llu jest zbyt duży\n"
+-#: .././repair/dir.c:283 .././repair/dir2.c:1042
++#: .././estimate/xfs_estimate.c:121
+ #, c-format
+-msgid "size of entry #%d overflows space left in in shortform dir %<PRIu64>\n"
+-msgstr "rozmiar wpisu #%d przekracza miejsce pozostałe w krótkim katalogu %<PRIu64>\n"
++msgid "already have external log noted, can't have both\n"
++msgstr "już jest przypisany zewnętrzny log, nie mogą istnieć oba\n"
+-#: .././repair/dir.c:288 .././repair/dir2.c:1047
++#: .././estimate/xfs_estimate.c:130
+ #, c-format
+-msgid "junking entry #%d\n"
+-msgstr "wyrzucono wpis #%d\n"
++msgid "already have internal log noted, can't have both\n"
++msgstr "już jest przypisany wewnętrzny log, nie mogą istnieć oba\n"
+-#: .././repair/dir.c:297 .././repair/dir2.c:1056
++#: .././estimate/xfs_estimate.c:160
+ #, c-format
+-msgid "would junk entry #%d\n"
+-msgstr "wpis #%d zostałby wyrzucony\n"
++msgid "directory                               bsize   blocks    megabytes    logsize\n"
++msgstr "katalog                                 rozmb   bloków    megabajtów  rozm.logu\n"
+-#: .././repair/dir.c:320 .././repair/dir2.c:1079
++#: .././estimate/xfs_estimate.c:174
+ #, c-format
+-msgid "entry contains illegal character in shortform dir %<PRIu64>\n"
+-msgstr "wpis zawiera niedozwolony znak w krótkim katalogu %<PRIu64>\n"
++msgid "dirsize=%llu\n"
++msgstr "dirsize=%llu\n"
+-#: .././repair/dir.c:374 .././repair/dir2.c:1143
++#: .././estimate/xfs_estimate.c:175
+ #, c-format
+-msgid "junking entry \"%s\" in directory inode %<PRIu64>\n"
+-msgstr "wyrzucono wpis \"%s\" w i-węźle katalogu %<PRIu64>\n"
++msgid "fullblocks=%llu\n"
++msgstr "fullblocks=%llu\n"
+-#: .././repair/dir.c:378 .././repair/dir2.c:1147
++#: .././estimate/xfs_estimate.c:176
+ #, c-format
+-msgid "would have junked entry \"%s\" in directory inode %<PRIu64>\n"
+-msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> zostałby wyrzucony\n"
++msgid "isize=%llu\n"
++msgstr "isize=%llu\n"
+-#: .././repair/dir.c:404 .././repair/dir2.c:1174
++#: .././estimate/xfs_estimate.c:178
+ #, c-format
+-msgid "would have corrected entry count in directory %<PRIu64> from %d to %d\n"
+-msgstr "liczba wpisów w katalogu %<PRIu64> zostałaby poprawiona z %d na %d\n"
++msgid "%llu regular files\n"
++msgstr "%llu plików zwykłych\n"
+-#: .././repair/dir.c:408 .././repair/dir2.c:1178
++#: .././estimate/xfs_estimate.c:179
+ #, c-format
+-msgid "corrected entry count in directory %<PRIu64>, was %d, now %d\n"
+-msgstr "poprawiono liczbę wpisów w katalogu %<PRIu64> - było %d, jest %d\n"
++msgid "%llu symbolic links\n"
++msgstr "%llu dowiązań symbolicznych\n"
+-#: .././repair/dir.c:419
++#: .././estimate/xfs_estimate.c:180
+ #, c-format
+-msgid "would have corrected directory %<PRIu64> size from %<PRId64>to %<PRIdPTR>\n"
+-msgstr "rozmiar katalogu %<PRIu64> zostałby poprawiony z %<PRId64> na %<PRIdPTR>\n"
++msgid "%llu directories\n"
++msgstr "%llu katalogów\n"
+-#: .././repair/dir.c:424 .././repair/dir2.c:1212
++#: .././estimate/xfs_estimate.c:181
+ #, c-format
+-msgid "corrected directory %<PRIu64> size, was %<PRId64>, now %<PRIdPTR>\n"
+-msgstr "poprawiono rozmiar katalogu %<PRIu64> - było %<PRId64>, jest %<PRIdPTR>\n"
++msgid "%llu special files\n"
++msgstr "%llu plików specjalnych\n"
+-#: .././repair/dir.c:446 .././repair/dir2.c:1253
++#: .././estimate/xfs_estimate.c:194
+ #, c-format
+-msgid "bogus .. inode number (%<PRIu64>) in directory inode %<PRIu64>, "
+-msgstr "błędny numer i-węzła .. (%<PRIu64>) w i-węźle katalogu %<PRIu64>, "
+-
+-#: .././repair/dir.c:449 .././repair/dir.c:483 .././repair/dir2.c:1257
+-#: .././repair/dir2.c:1292
+-msgid "clearing inode number\n"
+-msgstr "wyczyszczono numer i-węzła\n"
+-
+-#: .././repair/dir.c:455 .././repair/dir.c:489 .././repair/dir2.c:1263
+-#: .././repair/dir2.c:1298
+-msgid "would clear inode number\n"
+-msgstr "numer i-węzła zostałby wyczyszczony\n"
++msgid "%s will take about %.1f megabytes\n"
++msgstr "%s zajmie około %.1f megabajtów\n"
+-#: .././repair/dir.c:463 .././repair/dir2.c:1271
++#: .././estimate/xfs_estimate.c:201
+ #, c-format
+-msgid "corrected root directory %<PRIu64> .. entry, was %<PRIu64>, now %<PRIu64>\n"
+-msgstr "poprawiono wpis .. głównego katalogu %<PRIu64> - było %<PRIu64>, jest %<PRIu64>\n"
++msgid "%-39s %5llu %8llu %10.1fMB %10llu\n"
++msgstr "%-39s %5llu %8llu %10.1fMB %10llu\n"
+-#: .././repair/dir.c:471 .././repair/dir2.c:1279
++#: .././estimate/xfs_estimate.c:207
+ #, c-format
+-msgid "would have corrected root directory %<PRIu64> .. entry from %<PRIu64> to %<PRIu64>\n"
+-msgstr "wpis .. głównego katalogu %<PRIu64> zostałby poprawiony z %<PRIu64> na %<PRIu64>\n"
++msgid "\twith the external log using %llu blocks "
++msgstr "\tz zewnętrznym logiem zajmującym %llu bloków "
+-#: .././repair/dir.c:480
++#: .././estimate/xfs_estimate.c:209
+ #, c-format
+-msgid "bad .. entry in dir ino %<PRIu64>, points to self, "
+-msgstr "błędny wpis .. w i-węźle katalogu %<PRIu64>, wskazuje na siebie, "
++msgid "or about %.1f megabytes\n"
++msgstr "lub około %.1f megabajtów\n"
+-#: .././repair/dir.c:524
++#: .././fsr/xfs_fsr.c:194
+ #, c-format
+-msgid "bad range claimed [%d, %d) in da block\n"
+-msgstr "błędny przedział [%d, %d) przypisany w bloku da\n"
++msgid "%s: cannot read %s\n"
++msgstr "%s: nie można odczytać %s\n"
+-#: .././repair/dir.c:531
++#: .././fsr/xfs_fsr.c:273
+ #, c-format
+-msgid "byte range end [%d %d) in da block larger than blocksize %d\n"
+-msgstr "koniec przedziału bajtów [%d %d) w bloku da większy niż rozmiar bloku %d\n"
++msgid "%s: Stats not yet supported for XFS\n"
++msgstr "%s: statystyki nie są jeszcze obsługiwane dla XFS-a\n"
+-#: .././repair/dir.c:538
++#: .././fsr/xfs_fsr.c:337
+ #, c-format
+-msgid "multiply claimed byte %d in da block\n"
+-msgstr "wielokrotnie użyty bajt %d w bloku da\n"
++msgid "%s: could not stat: %s: %s\n"
++msgstr "%s: nie można wykonać stat: %s: %s\n"
+-#: .././repair/dir.c:568
++#: .././fsr/xfs_fsr.c:356
+ #, c-format
+-msgid "hole (start %d, len %d) out of range, block %d, dir ino %<PRIu64>\n"
+-msgstr "dziura (początek %d, długość %d) poza zakresem, blok %d, i-węzeł katalogu %<PRIu64>\n"
++msgid "%s: char special not supported: %s\n"
++msgstr "%s: urządzenia znakowe nie są obsługiwane: %s\n"
+-#: .././repair/dir.c:579
++#: .././fsr/xfs_fsr.c:362
+ #, c-format
+-msgid "hole claims used byte %d, block %d, dir ino %<PRIu64>\n"
+-msgstr "dziura odwołuje się do używanego bajtu %d, blok %d, i-węzeł katalogu %<PRIu64>\n"
++msgid "%s: cannot defragment: %s: Not XFS\n"
++msgstr "%s: nie można zdefragmentować: %s: to nie jest XFS\n"
+-#: .././repair/dir.c:693
++#: .././fsr/xfs_fsr.c:372
+ #, c-format
+-msgid "- derived hole value %d, saw %d, block %d, dir ino %<PRIu64>\n"
+-msgstr "- wyprowadzona wartość dziury %d, widziano %d, blok %d, i-węzeł katalogu %<PRIu64>\n"
++msgid "%s: not fsys dev, dir, or reg file, ignoring\n"
++msgstr "%s: nie jest urządzeniem z systemem plików, katalogiem ani zwykłym plikiem, zignorowano\n"
+-#: .././repair/dir.c:712
++#: .././fsr/xfs_fsr.c:387
+ #, c-format
+-msgid "- derived hole (base %d, size %d) in block %d, dir inode %<PRIu64> not found\n"
+-msgstr "- wyprowadzona dziura (podstawa %d, rozmiar %d) w bloku %d, i-węzeł katalogu %<PRIu64> nie znaleziona\n"
++msgid ""
++"Usage: %s [-d] [-v] [-g] [-t time] [-p passes] [-f leftf] [-m mtab]\n"
++"       %s [-d] [-v] [-g] xfsdev | dir | file ...\n"
++"       %s -V\n"
++"\n"
++"Options:\n"
++"       -g              Print to syslog (default if stdout not a tty).\n"
++"       -t time         How long to run in seconds.\n"
++"       -p passes       Number of passes before terminating global re-org.\n"
++"       -f leftoff      Use this instead of %s.\n"
++"       -m mtab         Use something other than /etc/mtab.\n"
++"       -d              Debug, print even more.\n"
++"       -v              Verbose, more -v's more verbose.\n"
++"       -V              Print version number and exit.\n"
++msgstr ""
++"Składnia: %s [-d] [-v] [-g] [-t czas] [-p przebiegi] [-f leftf] [-m mtab]\n"
++"          %s [-d] [-v] [-g] xfsdev | katalog | plik ...\n"
++"          %s -V\n"
++"\n"
++"Opcje:\n"
++"       -g              Pisanie do sysloga (domyślne jeśli stdout to nie tty).\n"
++"       -t czas         Czas działania w sekundach.\n"
++"       -p przebiegi    Liczba przebiegów przed zakończeniem reorganizacji.\n"
++"       -f leftoff      Użycie tego pliku zamiast %s.\n"
++"       -m mtab         Użycie pliku innego niż /etc/mtab.\n"
++"       -d              Diagnostyka, dużo więcej informacji.\n"
++"       -v              Tym więcej szczegółów, im więcej opcji -v.\n"
++"       -V              Wypisanie informacji o wersji i zakończenie.\n"
+-#: .././repair/dir.c:767 .././repair/phase6.c:1214 .././repair/phase6.c:1583
++#: .././fsr/xfs_fsr.c:417
+ #, c-format
+-msgid "can't read block %u (fsbno %<PRIu64>) for directory inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku %u (fsbno %<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
++msgid "could not open mtab file: %s\n"
++msgstr "nie udało się otworzyć pliku mtab: %s\n"
+-#: .././repair/dir.c:771
++#: .././fsr/xfs_fsr.c:423 .././fsr/xfs_fsr.c:455
+ #, c-format
+-msgid "can't read block %u (fsbno %<PRIu64>) for attrbute fork of inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku %u (fsbno %<PRIu64>) dla gałęzi atrybutów i-węzła %<PRIu64>\n"
++msgid "out of memory: %s\n"
++msgstr "brak pamięci: %s\n"
+-#: .././repair/dir.c:779 .././repair/phase6.c:1224
++#: .././fsr/xfs_fsr.c:446
+ #, c-format
+-msgid "bad dir/attr magic number in inode %<PRIu64>, file bno = %u, fsbno = %<PRIu64>\n"
+-msgstr "błędna liczba magiczna katalogu/atrybutu w i-węźle %<PRIu64>, bno pliku = %u, fsbno = %<PRIu64>\n"
++msgid "Skipping %s: not mounted rw\n"
++msgstr "Pominięto %s: nie zamontowany rw\n"
+-#: .././repair/dir.c:787 .././repair/dir2.c:333
++#: .././fsr/xfs_fsr.c:460
+ #, c-format
+-msgid "bad record count in inode %<PRIu64>, count = %d, max = %d\n"
+-msgstr "błędna liczba rekordów w i-węźle %<PRIu64>, liczba = %d, maksimum = %d\n"
++msgid "out of memory on realloc: %s\n"
++msgstr "brak pamięci przy realloc: %s\n"
+-#: .././repair/dir.c:806 .././repair/dir2.c:356
++#: .././fsr/xfs_fsr.c:471 .././fsr/xfs_fsr.c:475
+ #, c-format
+-msgid "bad directory btree for directory inode %<PRIu64>\n"
+-msgstr "błędne b-drzewo katalogu dla i-węzła katalogu %<PRIu64>\n"
++msgid "strdup(%s) failed\n"
++msgstr "strdup(%s) nie powiodło się\n"
+-#: .././repair/dir.c:810
++#: .././fsr/xfs_fsr.c:485
+ #, c-format
+-msgid "bad attribute fork btree for inode %<PRIu64>\n"
+-msgstr "błędne b-drzewo gałęzi atrybutów dla i-węzła %<PRIu64>\n"
++msgid "no rw xfs file systems in mtab: %s\n"
++msgstr "brak w pliku mtab systemów plików xfs w trybie rw: %s\n"
+-#: .././repair/dir.c:864
++#: .././fsr/xfs_fsr.c:489
+ #, c-format
+-msgid "release_da_cursor_int got unexpected non-null bp, dabno = %u\n"
+-msgstr "release_da_cursor_int otrzymało nieoczekiwany niepusty bp, dabno = %u\n"
++msgid "Found %d mounted, writable, XFS filesystems\n"
++msgstr "Liczba znalezionych zamontowanych, zapisywalnych systemów plików XFS: %d\n"
+-#: .././repair/dir.c:931
++#: .././fsr/xfs_fsr.c:519
+ #, c-format
+-msgid "directory/attribute block used/count inconsistency - %d/%hu\n"
+-msgstr "niespójność wartości used/count bloku katalogu/atrybutu - %d/%hu\n"
++msgid "%s: open failed\n"
++msgstr "%s: open nie powiodło się\n"
+-#: .././repair/dir.c:941 .././repair/dir2.c:478
++#: .././fsr/xfs_fsr.c:534
+ #, c-format
+-msgid "directory/attribute block hashvalue inconsistency, expected > %u / saw %u\n"
+-msgstr "niespójność wartości hasza bloku katalogu/atrybutu - oczekiwano > %u, widziano %u\n"
++msgid "Can't use %s: mode=0%o own=%d nlink=%d\n"
++msgstr "Nie można użyć %s: mode=0%o own=%d nlink=%d\n"
+-#: .././repair/dir.c:948 .././repair/dir2.c:485
++#: .././fsr/xfs_fsr.c:554
+ #, c-format
+-msgid "bad directory/attribute forward block pointer, expected 0, saw %u\n"
+-msgstr "błędny wskaźnik bloku w przód katalogu/atrybutu - oczekiwano 0, widziano %u\n"
++msgid "could not read %s, starting with %s\n"
++msgstr "nie można odczytać %s, rozpoczęcie z %s\n"
+-#: .././repair/dir.c:954
++#: .././fsr/xfs_fsr.c:591
+ #, c-format
+-msgid "bad directory block in dir ino %<PRIu64>\n"
+-msgstr "błędny blok katalogu w i-węźle katalogu %<PRIu64>\n"
++msgid "START: pass=%d ino=%llu %s %s\n"
++msgstr "START: przebieg=%d i-węzeł=%llu %s %s\n"
+-#: .././repair/dir.c:984
++#: .././fsr/xfs_fsr.c:608
+ #, c-format
+-msgid ""
+-"correcting bad hashval in non-leaf dir/attr block\n"
+-"\tin (level %d) in inode %<PRIu64>.\n"
+-msgstr ""
+-"poprawiono błędne hashval w bloku katalogu/atrybutu nie będącego liściem\n"
+-"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
++msgid "Completed all %d passes\n"
++msgstr "Zakończono wszystkie przebiegi w liczbie %d\n"
+-#: .././repair/dir.c:992
+-#, c-format
+-msgid ""
+-"would correct bad hashval in non-leaf dir/attr block\n"
+-"\tin (level %d) in inode %<PRIu64>.\n"
+-msgstr ""
+-"błędne hashval zostałoby poprawione w bloku katalogu/atrybutu nie będącego liściem\n"
+-"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
++#: .././fsr/xfs_fsr.c:618
++msgid "couldn't fork sub process:"
++msgstr "nie udało się uruchomić podprocesu:"
+-#: .././repair/dir.c:1130 .././repair/dir2.c:652
++#: .././fsr/xfs_fsr.c:653
+ #, c-format
+-msgid "can't get map info for block %u of directory inode %<PRIu64>\n"
+-msgstr "nie można uzyskać informacji o mapie dla bloku %u i-węzła katalogu %<PRIu64>\n"
++msgid "%s startpass %d, endpass %d, time %d seconds\n"
++msgstr "%s pocz. przebieg %d, końc. przebieg %d, czas %d sekund\n"
+-#: .././repair/dir.c:1140
++#: .././fsr/xfs_fsr.c:660
+ #, c-format
+-msgid "can't read block %u (%<PRIu64>) for directory inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku %u (%<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
++msgid "open(%s) failed: %s\n"
++msgstr "open(%s) nie powiodło się: %s\n"
+-#: .././repair/dir.c:1153
++#: .././fsr/xfs_fsr.c:666
+ #, c-format
+-msgid "bad magic number %x in block %u (%<PRIu64>) for directory inode %<PRIu64>\n"
+-msgstr "błędna liczba magiczna %x w bloku %u (%<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
++msgid "write(%s) failed: %s\n"
++msgstr "write(%s) nie powiodło się: %s\n"
+-#: .././repair/dir.c:1161
++#: .././fsr/xfs_fsr.c:690
+ #, c-format
+-msgid "bad back pointer in block %u (%<PRIu64>) for directory inode %<PRIu64>\n"
+-msgstr "błędny wskaźnik wstecz w bloku %u (%<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
++msgid "%s start inode=%llu\n"
++msgstr "%s pocz. i-węzeł=%llu\n"
+-#: .././repair/dir.c:1167
++#: .././fsr/xfs_fsr.c:695
+ #, c-format
+-msgid "entry count %d too large in block %u (%<PRIu64>) for directory inode %<PRIu64>\n"
+-msgstr "liczba wpisów %d zbyt duża w bloku %u (%<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
++msgid "unable to get handle: %s: %s\n"
++msgstr "nie udało się uzyskać uchwytu: %s: %s\n"
+-#: .././repair/dir.c:1174
++#: .././fsr/xfs_fsr.c:701
+ #, c-format
+-msgid "bad level %d in block %u (%<PRIu64>) for directory inode %<PRIu64>\n"
+-msgstr "błędny poziom %d w bloku %u (%<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
++msgid "unable to open: %s: %s\n"
++msgstr "nie udało się otworzyć: %s: %s\n"
+-#: .././repair/dir.c:1231
++#: .././fsr/xfs_fsr.c:707
+ #, c-format
+-msgid ""
+-"correcting bad hashval in interior dir/attr block\n"
+-"\tin (level %d) in inode %<PRIu64>.\n"
+-msgstr ""
+-"poprawiono błędne hashval w wewnętrznym bloku katalogu/atrybutu\n"
+-"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
++msgid "Skipping %s: could not get XFS geometry\n"
++msgstr "Pominięto %s: nie można odczytać geometrii XFS\n"
+-#: .././repair/dir.c:1239
++#: .././fsr/xfs_fsr.c:741
+ #, c-format
+-msgid ""
+-"would correct bad hashval in interior dir/attr block\n"
+-"\tin (level %d) in inode %<PRIu64>.\n"
+-msgstr ""
+-"błędne hashval zostałoby poprawione w wewnętrznym bloku katalogu/atrybutu\n"
+-"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
++msgid "could not open: inode %llu\n"
++msgstr "nie udało się otworzyć: i-węzeł %llu\n"
+-#: .././repair/dir.c:1347
++#: .././fsr/xfs_fsr.c:771
+ #, c-format
+-msgid "directory block header conflicts with used space in directory inode %<PRIu64>\n"
+-msgstr "nagłówek bloku katalogu jest w konflikcie z użytym miejscem w i-węźle katalogu %<PRIu64>\n"
++msgid "%s: xfs_bulkstat: %s\n"
++msgstr "%s: xfs_bulkstat: %s\n"
+-#: .././repair/dir.c:1377
++#: .././fsr/xfs_fsr.c:797
+ #, c-format
+-msgid "nameidx %d for entry #%d, bno %d, ino %<PRIu64> > fs blocksize, deleting entry\n"
+-msgstr "nameidx %d dla wpisu #%d, bno %d, i-węzeł %<PRIu64> > rozmiaru bloku fs, usunięto wpis\n"
++msgid "%s: Directory defragmentation not supported\n"
++msgstr "%s: Defragmentacja katalogów nie jest obsługiwana\n"
+-#: .././repair/dir.c:1414
++#: .././fsr/xfs_fsr.c:816
+ #, c-format
+-msgid "nameidx %d, entry #%d, bno %d, ino %<PRIu64> > fs blocksize, marking entry bad\n"
+-msgstr "nameidx %d, wpis #%d, bno %d, i-węzeł %<PRIu64> > rozmiaru bloku fs, zaznaczono wpis jako błędny\n"
++msgid "unable to construct sys handle for %s: %s\n"
++msgstr "nie udało się utworzyć uchwytu systemowego dla %s: %s\n"
+-#: .././repair/dir.c:1429
++#: .././fsr/xfs_fsr.c:827
+ #, c-format
+-msgid "nameidx %d, entry #%d, bno %d, ino %<PRIu64> > fs blocksize, would delete entry\n"
+-msgstr "nameidx %d, wpis #%d, bno %d, i-węzeł %<PRIu64> > rozmiaru bloku fs, wpis zostałby usunięty\n"
++msgid "unable to open sys handle for %s: %s\n"
++msgstr "nie udało się otworzyć uchwytu systemowego dla %s: %s\n"
+-#: .././repair/dir.c:1466
++#: .././fsr/xfs_fsr.c:833
+ #, c-format
+-msgid "invalid ino number %<PRIu64> in dir ino %<PRIu64>, entry #%d, bno %d\n"
+-msgstr "nieprawidłowy numer i-węzła %<PRIu64> w i-węźle katalogu %<PRIu64>, wpis #%d, bno %d\n"
++msgid "unable to get bstat on %s: %s\n"
++msgstr "nie udało się uzyskać bstat na %s: %s\n"
+-#: .././repair/dir.c:1470 .././repair/dir.c:1486 .././repair/dir.c:1503
+-#: .././repair/dir.c:1519 .././repair/dir.c:1536
++#: .././fsr/xfs_fsr.c:841
+ #, c-format
+-msgid "\tclearing ino number in entry %d...\n"
+-msgstr "\twyczyszczono numer i-węzła we wpisie %d...\n"
++msgid "unable to open handle %s: %s\n"
++msgstr "nie udało się otworzyć uchwytu %s: %s\n"
+-#: .././repair/dir.c:1477 .././repair/dir.c:1494 .././repair/dir.c:1510
+-#: .././repair/dir.c:1527 .././repair/dir.c:1544
++#: .././fsr/xfs_fsr.c:849
+ #, c-format
+-msgid "\twould clear ino number in entry %d...\n"
+-msgstr "\tnumer i-węzła we wpisie %d zostałby wyczyszczony...\n"
++msgid "Unable to get geom on fs for: %s\n"
++msgstr "Nie udało się odczytać geometrii systemu plików dla: %s\n"
+-#: .././repair/dir.c:1482
++#: .././fsr/xfs_fsr.c:898
+ #, c-format
+-msgid "entry #%d, bno %d in directory %<PRIu64> references realtime bitmap inode %<PRIu64>\n"
+-msgstr "wpis #%d, bno %d w katalogu %<PRIu64> odwołuje się do i-węzła bitmapy realtime %<PRIu64>\n"
++msgid "sync failed: %s: %s\n"
++msgstr "sync nie powiodło się: %s: %s\n"
+-#: .././repair/dir.c:1499
++#: .././fsr/xfs_fsr.c:904
+ #, c-format
+-msgid "entry #%d, bno %d in directory %<PRIu64> references realtime summary inode %<PRIu64>\n"
+-msgstr "wpis #%d, bno %d w katalogu %<PRIu64> odwołuje się do i-węzła opisu realtime %<PRIu64>\n"
++msgid "%s: zero size, ignoring\n"
++msgstr "%s: zerowy rozmiar, zignorowano\n"
+-#: .././repair/dir.c:1515
++#: .././fsr/xfs_fsr.c:923
+ #, c-format
+-msgid "entry #%d, bno %d in directory %<PRIu64> references user quota inode %<PRIu64>\n"
+-msgstr "wpis #%d, bno %d w katalogu %<PRIu64> odwołuje się do i-węzła limitu użytkownika %<PRIu64>\n"
++msgid "locking check failed: %s\n"
++msgstr "sprawdzenie blokowania nie powiodło się: %s\n"
+-#: .././repair/dir.c:1532
++#: .././fsr/xfs_fsr.c:930
+ #, c-format
+-msgid "entry #%d, bno %d in directory %<PRIu64> references group quota inode %<PRIu64>\n"
+-msgstr "wpis #%d, bno %d w katalogu %<PRIu64> odwołuje się do i-węzła limitu grupy %<PRIu64>\n"
++msgid "mandatory lock: %s: ignoring\n"
++msgstr "obowiązkowa blokada: %s: zignorowano\n"
+-#: .././repair/dir.c:1569
++#: .././fsr/xfs_fsr.c:943
+ #, c-format
+-msgid "entry references free inode %<PRIu64> in directory %<PRIu64>, will clear entry\n"
+-msgstr "wpis odwołuje się do wolnego i-węzła %<PRIu64> w katalogu %<PRIu64>, zostanie wyczyszczony\n"
++msgid "unable to get fs stat on %s: %s\n"
++msgstr "nie udało się uzyskać stat fs na %s: %s\n"
+-#: .././repair/dir.c:1577
++#: .././fsr/xfs_fsr.c:950
+ #, c-format
+-msgid "entry references free inode %<PRIu64> in directory %<PRIu64>, would clear entry\n"
+-msgstr "wpis odwołuje się do wolnego i-węzła %<PRIu64> w katalogu %<PRIu64>, zostałby wyczyszczony\n"
++msgid "insufficient freespace for: %s: size=%lld: ignoring\n"
++msgstr "niewystarczająca ilość miejsca dla: %s: rozmiar=%lld: zignorowano\n"
+-#: .././repair/dir.c:1585
++#: .././fsr/xfs_fsr.c:957
+ #, c-format
+-msgid "bad ino number %<PRIu64> in dir ino %<PRIu64>, entry #%d, bno %d\n"
+-msgstr "błędny numer i-węzła %<PRIu64> w i-węźle katalogu %<PRIu64>, wpis #%d, bno %d\n"
+-
+-#: .././repair/dir.c:1588
+-msgid "clearing inode number...\n"
+-msgstr "wyczyszczono numer i-węzła...\n"
+-
+-#: .././repair/dir.c:1593
+-msgid "would clear inode number...\n"
+-msgstr "numer i-węzła zostałby wyczyszczony\n"
++msgid "failed to get inode attrs: %s\n"
++msgstr "nie udało się uzyskać atrybutów i-węzła: %s\n"
+-#: .././repair/dir.c:1613
++#: .././fsr/xfs_fsr.c:962
+ #, c-format
+-msgid "entry #%d, dir inode %<PRIu64>, has zero-len name, deleting entry\n"
+-msgstr "wpis #%d, i-węzeł katalogu %<PRIu64> ma nazwę zerowej długości, usunięto\n"
++msgid "%s: immutable/append, ignoring\n"
++msgstr "%s: niezmienny/tylko do dołączania, zignorowano\n"
+-#: .././repair/dir.c:1651
++#: .././fsr/xfs_fsr.c:967
+ #, c-format
+-msgid "entry #%d, dir inode %<PRIu64>, has zero-len name, marking entry bad\n"
+-msgstr "wpis #%d, i-węzeł katalogu %<PRIu64> ma nazwę zerowej długości, zaznaczono jako błędny\n"
++msgid "%s: marked as don't defrag, ignoring\n"
++msgstr "%s: oznaczony jako nie do defragmentacji, zignorowano\n"
+-#: .././repair/dir.c:1664
++#: .././fsr/xfs_fsr.c:973
+ #, c-format
+-msgid "bad size, entry #%d in dir inode %<PRIu64>, block %u -- entry overflows block\n"
+-msgstr "błędny rozmiar, wpis #%d w i-węźle katalogu %<PRIu64>, blok %u - wpis wykracza poza blok\n"
++msgid "cannot get realtime geometry for: %s\n"
++msgstr "nie można uzyskać geometrii realtime dla: %s\n"
+-#: .././repair/dir.c:1675
++#: .././fsr/xfs_fsr.c:978
+ #, c-format
+-msgid "dir entry slot %d in block %u conflicts with used space in dir inode %<PRIu64>\n"
+-msgstr "slot wpisu katalogu %d w bloku %u jest w konflikcie z użytym miejscem w i-węźle katalogu %<PRIu64>\n"
++msgid "low on realtime free space: %s: ignoring file\n"
++msgstr "mało wolnego miejsca realtime: %s: plik zignorowany\n"
+-#: .././repair/dir.c:1715
++#: .././fsr/xfs_fsr.c:985
+ #, c-format
+-msgid "illegal name \"%s\" in directory inode %<PRIu64>, entry will be cleared\n"
+-msgstr "niedozwolona nazwa \"%s\" w i-węźle katalogu %<PRIu64>, wpis zostanie wyczyszczony\n"
++msgid "cannot open: %s: Permission denied\n"
++msgstr "nie można otworzyć: %s: brak uprawnień\n"
+-#: .././repair/dir.c:1721
+-#, c-format
+-msgid "illegal name \"%s\" in directory inode %<PRIu64>, entry would be cleared\n"
+-msgstr "niedozwolona nazwa \"%s\" w i-węźle katalogu %<PRIu64>, wpis zostałby wyczyszczony\n"
++#: .././fsr/xfs_fsr.c:1043 .././fsr/xfs_fsr.c:1093 .././fsr/xfs_fsr.c:1185
++msgid "could not set ATTR\n"
++msgstr "nie udało się ustawić ATTR\n"
+-#: .././repair/dir.c:1731
++#: .././fsr/xfs_fsr.c:1052
+ #, c-format
+-msgid "\tmismatched hash value for entry \"%s\"\n"
+-msgstr "\tniedopasowana wartość hasza dla wpisu \"%s\"\n"
++msgid "unable to stat temp file: %s\n"
++msgstr "nie udało się wykonać stat na pliku tymczasowym: %s\n"
+-#: .././repair/dir.c:1735
++#: .././fsr/xfs_fsr.c:1070
+ #, c-format
+-msgid "\t\tin directory inode %<PRIu64>.  resetting hash value.\n"
+-msgstr "\t\tw i-węźle katalogu %<PRIu64>. Przestawiono wartość hasza.\n"
++msgid "unable to get bstat on temp file: %s\n"
++msgstr "nie udało się uzyskać bstat pliku tymczasowego: %s\n"
+-#: .././repair/dir.c:1741
++#: .././fsr/xfs_fsr.c:1075
+ #, c-format
+-msgid "\t\tin directory inode %<PRIu64>.  would reset hash value.\n"
+-msgstr "\t\tw i-węźle katalogu %<PRIu64>. Wartość hasza zostałaby przestawiona.\n"
++msgid "orig forkoff %d, temp forkoff %d\n"
++msgstr "orig forkoff %d, temp forkoff %d\n"
+-#: .././repair/dir.c:1771
+-#, c-format
+-msgid "\tbad hash ordering for entry \"%s\"\n"
+-msgstr "\tbłędny porządek hasza dla wpisu \"%s\"\n"
++#: .././fsr/xfs_fsr.c:1124
++msgid "FSGETXATTRA failed on target\n"
++msgstr "FSGETXATTRA nie powiodło się na docelowym urządzeniu\n"
+-#: .././repair/dir.c:1775
+-#, c-format
+-msgid "\t\tin directory inode %<PRIu64>.  will clear entry\n"
+-msgstr "\t\tw i-węźle katalogu %<PRIu64>. Wpis zostanie wyczyszczony.\n"
++#: .././fsr/xfs_fsr.c:1140
++msgid "big ATTR set failed\n"
++msgstr "duży zbiór ATTR nie powiódł się\n"
+-#: .././repair/dir.c:1782
++#: .././fsr/xfs_fsr.c:1161
+ #, c-format
+-msgid "\t\tin directory inode %<PRIu64>.  would clear entry\n"
+-msgstr "\t\tw i-węźle katalogu %<PRIu64>. Wpis zostałby wyczyszczony.\n"
++msgid "forkoff diff %d too large!\n"
++msgstr "różnica forkoff %d zbyt duża!\n"
+-#: .././repair/dir.c:1798
++#: .././fsr/xfs_fsr.c:1178
+ #, c-format
+-msgid "name \"%s\" (block %u, slot %d) conflicts with used space in dir inode %<PRIu64>\n"
+-msgstr "nazwa \"%s\" (blok %u, slot %d) jest w konflikcie z użytym miejscem w i-węźle katalogu %<PRIu64>\n"
++msgid "data fork growth unimplemented\n"
++msgstr "powiększanie odgałęzienia danych nie jest zaimplementowane\n"
+-#: .././repair/dir.c:1805
+-#, c-format
+-msgid "will clear entry \"%s\" (#%d) in directory inode %<PRIu64>\n"
+-msgstr "wpis \"%s\" (#%d) zostanie wyczyszczony w i-węźle katalogu %<PRIu64>\n"
++#: .././fsr/xfs_fsr.c:1193
++msgid "set temp attr\n"
++msgstr "ustawianie atrybutów pliku tymczasowego\n"
+-#: .././repair/dir.c:1809
+-#, c-format
+-msgid "would clear entry \"%s\" (#%d)in directory inode %<PRIu64>\n"
+-msgstr "wpis \"%s\" (#%d) zostałby wyczyszczony w i-węźle katalogu %<PRIu64>\n"
++#: .././fsr/xfs_fsr.c:1196
++msgid "failed to match fork offset\n"
++msgstr "nie udało się dopasować offsetu odgałęzienia\n"
+-#: .././repair/dir.c:1845
++#: .././fsr/xfs_fsr.c:1236
+ #, c-format
+-msgid "bad .. entry in dir ino %<PRIu64>, points to self"
+-msgstr "błędny wpis .. w i-węźle katalogu %<PRIu64>, wskazuje na siebie"
+-
+-#: .././repair/dir.c:1849 .././repair/dir.c:1946
+-msgid "will clear entry\n"
+-msgstr "wpis zostanie wyczyszczony\n"
+-
+-#: .././repair/dir.c:1854 .././repair/dir.c:1950 .././repair/dir2.c:1642
+-msgid "would clear entry\n"
+-msgstr "wpis zostałby wyczyszczony\n"
++msgid "%s already fully defragmented.\n"
++msgstr "%s jest już całkowicie zdefragmentowany.\n"
+-#: .././repair/dir.c:1864
++#: .././fsr/xfs_fsr.c:1241
+ #, c-format
+-msgid "correcting .. entry in root inode %<PRIu64>, was %<PRIu64>\n"
+-msgstr "poprawiono wpis .. w głównym i-węźle %<PRIu64>, było %<PRIu64>\n"
++msgid "%s extents=%d can_save=%d tmp=%s\n"
++msgstr "%s extents=%d can_save=%d tmp=%s\n"
+-#: .././repair/dir.c:1871
++#: .././fsr/xfs_fsr.c:1247
+ #, c-format
+-msgid "bad .. entry (%<PRIu64>) in root inode %<PRIu64> should be %<PRIu64>\n"
+-msgstr "błędny wpis .. (%<PRIu64>) w głównym i-węźle %<PRIu64>, powinno być %<PRIu64>\n"
++msgid "could not open tmp file: %s: %s\n"
++msgstr "nie udało się otworzyć pliku tymczasowego: %s: %s\n"
+-#: .././repair/dir.c:1888
++#: .././fsr/xfs_fsr.c:1255
+ #, c-format
+-msgid "multiple .. entries in directory inode %<PRIu64>, will clear second entry\n"
+-msgstr "wiele wpisów .. w i-węźle katalogu %<PRIu64>, drugi wpis zostanie wyczyszczony\n"
++msgid "failed to set ATTR fork on tmp: %s:\n"
++msgstr "nie udało się ustawić odgałęzienia ATTR na tmp: %s\n"
+-#: .././repair/dir.c:1894
++#: .././fsr/xfs_fsr.c:1263
+ #, c-format
+-msgid "multiple .. entries in directory inode %<PRIu64>, would clear second entry\n"
+-msgstr "wiele wpisów .. w i-węźle katalogu %<PRIu64>, drugi wpis zostałby wyczyszczony\n"
++msgid "could not set inode attrs on tmp: %s\n"
++msgstr "nie udało się ustawić atrybutów i-węzła na tmp: %s\n"
+-#: .././repair/dir.c:1907
++#: .././fsr/xfs_fsr.c:1271
+ #, c-format
+-msgid ". in directory inode %<PRIu64> has wrong value (%<PRIu64>), fixing entry...\n"
+-msgstr ". w i-węźle katalogu %<PRIu64> ma niepoprawną wartość (%<PRIu64>), poprawiono wpis...\n"
++msgid "could not get DirectIO info on tmp: %s\n"
++msgstr "nie udało się uzyskać informacji o bezpośrednim we/wy na tmp: %s\n"
+-#: .././repair/dir.c:1914
++#: .././fsr/xfs_fsr.c:1287
+ #, c-format
+-msgid ". in directory inode %<PRIu64> has wrong value (%<PRIu64>)\n"
+-msgstr ". w i-węźle katalogu %<PRIu64> ma niepoprawną wartość (%<PRIu64>)\n"
++msgid "DEBUG: fsize=%lld blsz_dio=%d d_min=%d d_max=%d pgsz=%d\n"
++msgstr "DEBUG: fsize=%lld blsz_dio=%d d_min=%d d_max=%d pgsz=%d\n"
+-#: .././repair/dir.c:1920
++#: .././fsr/xfs_fsr.c:1294
+ #, c-format
+-msgid "multiple . entries in directory inode %<PRIu64>\n"
+-msgstr "wiele wpisów . w i-węźle katalogu %<PRIu64>\n"
++msgid "could not allocate buf: %s\n"
++msgstr "nie udało się przydzielić bufora: %s\n"
+-#: .././repair/dir.c:1927
++#: .././fsr/xfs_fsr.c:1305
+ #, c-format
+-msgid "will clear one . entry in directory inode %<PRIu64>\n"
+-msgstr "jeden wpis . w i-węźle katalogu %<PRIu64> zostanie wyczyszczony\n"
++msgid "could not open fragfile: %s : %s\n"
++msgstr "nie udało się otworzyć pliku frag: %s: %s\n"
+-#: .././repair/dir.c:1933
++#: .././fsr/xfs_fsr.c:1322
+ #, c-format
+-msgid "would clear one . entry in directory inode %<PRIu64>\n"
+-msgstr "jeden wpis . w i-węźle katalogu %<PRIu64> zostałby wyczyszczony\n"
++msgid "could not trunc tmp %s\n"
++msgstr "nie udało się uciąć tmp %s\n"
+-#: .././repair/dir.c:1943
++#: .././fsr/xfs_fsr.c:1337
+ #, c-format
+-msgid "entry \"%s\" in directory inode %<PRIu64> points to self, "
+-msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> wskazuje na siebie, "
++msgid "could not pre-allocate tmp space: %s\n"
++msgstr "nie udało się wstępnie przydzielić miejsca tmp: %s\n"
+-#: .././repair/dir.c:1968
+-#, c-format
+-msgid "- resetting first used heap value from %d to %d in block %u of dir ino %<PRIu64>\n"
+-msgstr "- przestawiono pierwszą używaną wartość sterty z %d na %d w bloku %u i-węzła katalogu %<PRIu64>\n"
++#: .././fsr/xfs_fsr.c:1348
++msgid "Couldn't rewind on temporary file\n"
++msgstr "Nie udało się przewinąć pliku tymczasowego\n"
+-#: .././repair/dir.c:1976
++#: .././fsr/xfs_fsr.c:1359
+ #, c-format
+-msgid "- would reset first used value from %d to %d in block %u of dir ino %<PRIu64>\n"
+-msgstr "- pierwsza używana wartość zostałaby przestawiona z %d na %d w bloku %u i-węzła katalogu %<PRIu64>\n"
++msgid "Temporary file has %d extents (%d in original)\n"
++msgstr "Plik tymczasowy ma ekstentów: %d (%d w oryginale)\n"
+-#: .././repair/dir.c:1986
++#: .././fsr/xfs_fsr.c:1362
+ #, c-format
+-msgid "- resetting namebytes cnt from %d to %d in block %u of dir inode %<PRIu64>\n"
+-msgstr "- przestawiono liczbę bajtów nazwy z %d na %d w bloku %u i-węzła katalogu %<PRIu64>\n"
++msgid "No improvement will be made (skipping): %s\n"
++msgstr "Nie nastąpi poprawa (pominięto): %s\n"
+-#: .././repair/dir.c:1994
++#: .././fsr/xfs_fsr.c:1408
+ #, c-format
+-msgid "- would reset namebytes cnt from %d to %d in block %u of dir inode %<PRIu64>\n"
+-msgstr "- liczba bajtów nazwy zostałaby przestawiona z %d na %d w bloku %u i-węzła katalogu %<PRIu64>\n"
++msgid "bad read of %d bytes from %s: %s\n"
++msgstr "błędny odczyt %d bajtów z %s: %s\n"
+-#: .././repair/dir.c:2029
++#: .././fsr/xfs_fsr.c:1412 .././fsr/xfs_fsr.c:1448
+ #, c-format
+-msgid "- found unexpected lost holes in block %u, dir inode %<PRIu64>\n"
+-msgstr "- znaleziono nieoczekiwane utracone dziury w bloku %u, i-węźle katalogu %<PRIu64>\n"
++msgid "bad write of %d bytes to %s: %s\n"
++msgstr "błędny zapis %d bajtów do %s: %s\n"
+-#: .././repair/dir.c:2037
++#: .././fsr/xfs_fsr.c:1429
+ #, c-format
+-msgid "- hole info non-optimal in block %u, dir inode %<PRIu64>\n"
+-msgstr "- nieoptymalna informacja o dziurze w bloku %u, i-węźle katalogu %<PRIu64>\n"
++msgid "bad write2 of %d bytes to %s: %s\n"
++msgstr "błędny zapis 2 %d bajtów do %s: %s\n"
+-#: .././repair/dir.c:2044
++#: .././fsr/xfs_fsr.c:1434
+ #, c-format
+-msgid "- hole info incorrect in block %u, dir inode %<PRIu64>\n"
+-msgstr "- niepoprawna informacja o dziurze w bloku %u, i-węźle katalogu %<PRIu64>\n"
++msgid "bad copy to %s\n"
++msgstr "błędna kopia do %s\n"
+-#: .././repair/dir.c:2055
++#: .././fsr/xfs_fsr.c:1472
+ #, c-format
+-msgid "- existing hole info for block %d, dir inode %<PRIu64> (base, size) - \n"
+-msgstr "- istniejąca informacja o dziurze dla bloku %d, i-węzła katalogu %<PRIu64> (podstawa, rozmiar) - \n"
++msgid "failed to fchown tmpfile %s: %s\n"
++msgstr "nie udało się wykonać fchown na pliku tymczasowym %s: %s\n"
+-#: .././repair/dir.c:2063
++#: .././fsr/xfs_fsr.c:1483
+ #, c-format
+-msgid "- holes flag = %d\n"
+-msgstr "- flaga dziur = %d\n"
++msgid "%s: file type not supported\n"
++msgstr "%s: tym pliku nie obsługiwany\n"
+-#: .././repair/dir.c:2069
++#: .././fsr/xfs_fsr.c:1487
+ #, c-format
+-msgid "- compacting block %u in dir inode %<PRIu64>\n"
+-msgstr "- zagęszczono blok %u w i-węźle katalogu %<PRIu64>\n"
++msgid "%s: file modified defrag aborted\n"
++msgstr "%s: plik zmodyfikowany, defragmentacja przerwana\n"
+-#: .././repair/dir.c:2110
++#: .././fsr/xfs_fsr.c:1492
+ #, c-format
+-msgid "not enough space in block %u of dir inode %<PRIu64> for all entries\n"
+-msgstr "zbyt mało miejsca dla wszystkich wpisów w bloku %u i-węzła katalogu %<PRIu64>\n"
++msgid "%s: file busy\n"
++msgstr "%s: plik zajęty\n"
+-#: .././repair/dir.c:2180
++#: .././fsr/xfs_fsr.c:1494
+ #, c-format
+-msgid "- would compact block %u in dir inode %<PRIu64>\n"
+-msgstr "- bloku %u w i-węźle katalogu %<PRIu64> zostałby zagęszczony\n"
++msgid "XFS_IOC_SWAPEXT failed: %s: %s\n"
++msgstr "XFS_IOC_SWAPEXT nie powiodło się: %s: %s\n"
+-#: .././repair/dir.c:2245 .././repair/dir2.c:1828
++#: .././fsr/xfs_fsr.c:1503
+ #, c-format
+-msgid "can't map block %u for directory inode %<PRIu64>\n"
+-msgstr "nie można odwzorować bloku %u dla i-węzła katalogu %<PRIu64>\n"
++msgid "extents before:%d after:%d %s %s\n"
++msgstr "ekstentów przed: %d po: %d %s %s\n"
+-#: .././repair/dir.c:2256
++#: .././fsr/xfs_fsr.c:1530
+ #, c-format
+-msgid "can't read file block %u (fsbno %<PRIu64>, daddr %<PRId64>) for directory inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku pliku %u (fsbno %<PRIu64>, daddr %<PRId64>) dla i-węzła katalogu %<PRIu64>\n"
++msgid "tmp file name too long: %s\n"
++msgstr "nazwa pliku tymczasowego zbyt długa: %s\n"
+-#: .././repair/dir.c:2270 .././repair/dir.c:2529
++#: .././fsr/xfs_fsr.c:1580
+ #, c-format
+-msgid "bad directory leaf magic # %#x for dir ino %<PRIu64>\n"
+-msgstr "błędna liczba magiczna liścia katalogu %#x dla i-węzła katalogu %<PRIu64>\n"
++msgid "realloc failed: %s\n"
++msgstr "realloc nie powiodło się: %s\n"
+-#: .././repair/dir.c:2310
++#: .././fsr/xfs_fsr.c:1593
+ #, c-format
+-msgid "bad sibling back pointer for directory block %u in directory inode %<PRIu64>\n"
+-msgstr "błędny wskaźnik wstecz dla bloku katalogu %u w i-węźle katalogu %<PRIu64>\n"
++msgid "malloc failed: %s\n"
++msgstr "malloc nie powiodło się: %s\n"
+-#: .././repair/dir.c:2341 .././repair/dir2.c:1904
++#: .././fsr/xfs_fsr.c:1623
+ #, c-format
+-msgid "bad hash path in directory %<PRIu64>\n"
+-msgstr "błędna ścieżka hasza w katalogu %<PRIu64>\n"
++msgid "failed reading extents: inode %llu"
++msgstr "nie udało się odczytać ekstentów: i-węzeł %llu"
+-#: .././repair/dir.c:2450
+-#, c-format
+-msgid "out of range internal directory block numbers (inode %<PRIu64>)\n"
+-msgstr "numery bloków wewnętrznego katalogu spoza zakresu (i-węzeł %<PRIu64>)\n"
++#: .././fsr/xfs_fsr.c:1673
++msgid "failed reading extents"
++msgstr "nie udało się odczytać ekstentów"
+-#: .././repair/dir.c:2456
++#: .././fsr/xfs_fsr.c:1761 .././fsr/xfs_fsr.c:1775
+ #, c-format
+-msgid "setting directory inode (%<PRIu64>) size to %<PRIu64> bytes, was %<PRId64> bytes\n"
+-msgstr "ustawiono rozmiar i-węzła katalogu (%<PRIu64>) na %<PRIu64> bajtów, było %<PRId64> bajtów\n"
++msgid "tmpdir already exists: %s\n"
++msgstr "katalog tymczasowy już istnieje: %s\n"
+-#: .././repair/dir.c:2509
++#: .././fsr/xfs_fsr.c:1764
+ #, c-format
+-msgid "block 0 for directory inode %<PRIu64> is missing\n"
+-msgstr "brak bloku 0 dla i-węzła katalogu %<PRIu64>\n"
+-
+-#: .././repair/dir.c:2516
+-#, c-format
+-msgid "can't read block 0 for directory inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku 0 dla i-węzła katalogu %<PRIu64>\n"
+-
+-#: .././repair/dir.c:2552
+-#, c-format
+-msgid "clearing forw/back pointers for directory inode %<PRIu64>\n"
+-msgstr "wyczyszczono wskaźniki w przód/wstecz dla i-węzła katalogu %<PRIu64>\n"
+-
+-#: .././repair/dir.c:2558
+-#, c-format
+-msgid "would clear forw/back pointers for directory inode %<PRIu64>\n"
+-msgstr "wskaźniki w przód/wstecz dla i-węzła katalogu %<PRIu64> zostałyby wyczyszczone\n"
+-
+-#: .././repair/dir.c:2623 .././repair/dir2.c:2109
+-#, c-format
+-msgid "no . entry for directory %<PRIu64>\n"
+-msgstr "brak wpisu . dla katalogu %<PRIu64>\n"
+-
+-#: .././repair/dir.c:2632 .././repair/dir2.c:2119
+-#, c-format
+-msgid "no .. entry for directory %<PRIu64>\n"
+-msgstr "brak wpisu .. dla katalogu %<PRIu64>\n"
++msgid "could not create tmpdir: %s: %s\n"
++msgstr "nie udało się utworzyć katalogu tymczasowego: %s: %s\n"
+-#: .././repair/dir.c:2634 .././repair/dir2.c:2121
++#: .././fsr/xfs_fsr.c:1777
+ #, c-format
+-msgid "no .. entry for root directory %<PRIu64>\n"
+-msgstr "brak wpisu .. dla katalogu głównego %<PRIu64>\n"
++msgid "cannot create tmpdir: %s: %s\n"
++msgstr "nie można utworzyć katalogu tymczasowego: %s: %s\n"
+-#: .././repair/dir2.c:57
++#: .././fsr/xfs_fsr.c:1815 .././fsr/xfs_fsr.c:1823
+ #, c-format
+-msgid "malloc failed (%zu bytes) dir2_add_badlist:ino %<PRIu64>\n"
+-msgstr "malloc nie powiodło się (%zu bajtów) w dir2_add_badlist:ino %<PRIu64>\n"
+-
+-#: .././repair/dir2.c:98 .././repair/dir2.c:209 .././repair/dir2.c:245
+-msgid "couldn't malloc dir2 buffer list\n"
+-msgstr "nie można przydzielić listy bufora dir2\n"
+-
+-#: .././repair/dir2.c:125
+-msgid "couldn't malloc dir2 buffer header\n"
+-msgstr "nie można przydzielić nagłówka bufora dir2\n"
+-
+-#: .././repair/dir2.c:142
+-msgid "couldn't malloc dir2 buffer data\n"
+-msgstr "nie można przydzielić danych bufora dir2\n"
++msgid "could not remove tmpdir: %s: %s\n"
++msgstr "nie udało się usunąć katalogu tymczasowego: %s: %s\n"
+-#: .././repair/dir2.c:305 .././repair/dir2.c:663 .././repair/dir2.c:1709
+-#: .././repair/phase6.c:2290
++#: .././growfs/xfs_growfs.c:26
+ #, c-format
+-msgid "can't read block %u for directory inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku %u dla i-węzła katalogu %<PRIu64>\n"
++msgid ""
++"Usage: %s [options] mountpoint\n"
++"\n"
++"Options:\n"
++"\t-d          grow data/metadata section\n"
++"\t-l          grow log section\n"
++"\t-r          grow realtime section\n"
++"\t-n          don't change anything, just show geometry\n"
++"\t-i          convert log from external to internal format\n"
++"\t-t          alternate location for mount table (/etc/mtab)\n"
++"\t-x          convert log from internal to external format\n"
++"\t-D size     grow data/metadata section to size blks\n"
++"\t-L size     grow/shrink log section to size blks\n"
++"\t-R size     grow realtime section to size blks\n"
++"\t-e size     set realtime extent size to size blks\n"
++"\t-m imaxpct  set inode max percent to imaxpct\n"
++"\t-V          print version information\n"
++msgstr ""
++"Składnia: %s [opcje] punkt_montowania\n"
++"\n"
++"Opcje:\n"
++"\t-d          powiększenie sekcji danych/metadanych\n"
++"\t-l          powiększenie sekcji logu\n"
++"\t-r          powiększenie sekcji realtime\n"
++"\t-n          bez zmian, tylko pokazanie geometrii\n"
++"\t-i          przekształcenie logu z formatu zewnętrznego na wewnętrzny\n"
++"\t-t          inne położenie tabeli montowań (/etc/mtab)\n"
++"\t-x          przekształcenie logu z formatu wewnętrznego na zewnętrzny\n"
++"\t-D rozmiar  powiększenie sekcji danych/metadanych do rozmiaru w blokach\n"
++"\t-L rozmiar  powiększenie/zmniejszenie sekcji logu do rozmiaru w blokach\n"
++"\t-R rozmiar  powiększenie sekcji realtime do rozmiaru w blokach\n"
++"\t-e rozmiar  stawienie rozmiaru ekstentu realtime na rozmiar w blokach\n"
++"\t-m imaxpct  ustawienie maksymalnego procentu i-węzłów na imaxpct\n"
++"\t-V          wypisanie informacji o wersji\n"
+-#: .././repair/dir2.c:315
++#: .././growfs/xfs_growfs.c:62
+ #, c-format
+-msgid "found non-root LEAFN node in inode %<PRIu64> bno = %u\n"
+-msgstr "znaleziono niegłówny węzeł LEAFN w i-węźle %<PRIu64> bno = %u\n"
++msgid ""
++"meta-data=%-22s isize=%-6u agcount=%u, agsize=%u blks\n"
++"         =%-22s sectsz=%-5u attr=%u, projid32bit=%u\n"
++"         =%-22s crc=%u\n"
++"data     =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n"
++"         =%-22s sunit=%-6u swidth=%u blks\n"
++"naming   =version %-14u bsize=%-6u ascii-ci=%d ftype=%d\n"
++"log      =%-22s bsize=%-6u blocks=%u, version=%u\n"
++"         =%-22s sectsz=%-5u sunit=%u blks, lazy-count=%u\n"
++"realtime =%-22s extsz=%-6u blocks=%llu, rtextents=%llu\n"
++msgstr ""
++"metadane=%-22s isize=%-6u agcount=%u, agsize=%u bloków\n"
++"        =%-22s sectsz=%-5u attr=%u, projid32bit=%u\n"
++"        =%-22s crc=%u\n"
++"dane    =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n"
++"        =%-22s sunit=%-6u swidth=%u bloków\n"
++"nazwy   =wersja %-14u bsize=%-6u ascii-ci=%d ftype=%d\n"
++"log     =%-22s bsize=%-6u blocks=%u, wersja=%u\n"
++"        =%-22s sectsz=%-5u sunit=%u bloków, lazy-count=%u\n"
++"realtime=%-22s extsz=%-6u blocks=%llu, rtextents=%llu\n"
+-#: .././repair/dir2.c:324
+-#, c-format
+-msgid "bad dir magic number 0x%x in inode %<PRIu64> bno = %u\n"
+-msgstr "błędna liczba magiczna katalogu 0x%x w i-węźle %<PRIu64> bno = %u\n"
++#: .././growfs/xfs_growfs.c:79 .././growfs/xfs_growfs.c:449
++#: .././growfs/xfs_growfs.c:450
++msgid "internal"
++msgstr "wewnętrzny"
+-#: .././repair/dir2.c:345
+-#, c-format
+-msgid "bad header depth for directory inode %<PRIu64>\n"
+-msgstr "błędna głębokość nagłówka dla i-węzła katalogu %<PRIu64>\n"
++#: .././growfs/xfs_growfs.c:79 .././growfs/xfs_growfs.c:82
++#: .././growfs/xfs_growfs.c:449 .././growfs/xfs_growfs.c:450
++msgid "external"
++msgstr "zewnętrzny"
+-#: .././repair/dir2.c:406
++#: .././growfs/xfs_growfs.c:197
+ #, c-format
+-msgid "release_dir2_cursor_int got unexpected non-null bp, dabno = %u\n"
+-msgstr "release_dir2_cursor_int otrzymał nieoczekiwany niezerowy bp, dabno = %u\n"
++msgid "%s: %s is not a mounted XFS filesystem\n"
++msgstr "%s: %s nie jest podmontowanym systemem plików XFS\n"
+-#: .././repair/dir2.c:469
++#: .././growfs/xfs_growfs.c:214
+ #, c-format
+-msgid "directory block used/count inconsistency - %d / %hu\n"
+-msgstr "niespójność wartości used/count bloku katalogu - %d / %hu\n"
++msgid "%s: specified file [\"%s\"] is not on an XFS filesystem\n"
++msgstr "%s: podany plik [\"%s\"] nie jest na systemie plików XFS\n"
+-#: .././repair/dir2.c:491
++#: .././growfs/xfs_growfs.c:231
+ #, c-format
+-msgid "bad directory block in inode %<PRIu64>\n"
+-msgstr "błędny blok katalogu w i-węźle %<PRIu64>\n"
++msgid "%s: cannot determine geometry of filesystem mounted at %s: %s\n"
++msgstr "%s: nie można określić geometrii systemu plików podmontowanego pod %s: %s\n"
+-#: .././repair/dir2.c:512
++#: .././growfs/xfs_growfs.c:270
+ #, c-format
+-msgid ""
+-"correcting bad hashval in non-leaf dir block\n"
+-"\tin (level %d) in inode %<PRIu64>.\n"
+-msgstr ""
+-"poprawiono błędne hashval w bloku katalogu nie będącego liściem\n"
+-"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
++msgid "%s: failed to access data device for %s\n"
++msgstr "%s: nie udało się uzyskać dostępu do urządzenia z danymi dla %s\n"
+-#: .././repair/dir2.c:520
++#: .././growfs/xfs_growfs.c:275
+ #, c-format
+-msgid ""
+-"would correct bad hashval in non-leaf dir block\n"
+-"\tin (level %d) in inode %<PRIu64>.\n"
+-msgstr ""
+-"błędne hashval w bloku katalogu nie będącego liściem zostałoby poprawione\n"
+-"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
++msgid "%s: failed to access external log for %s\n"
++msgstr "%s: nie udało się uzyskać dostępu do zewnętrznego logu dla %s\n"
+-#: .././repair/dir2.c:676
++#: .././growfs/xfs_growfs.c:281
+ #, c-format
+-msgid "bad magic number %x in block %u for directory inode %<PRIu64>\n"
+-msgstr "błędna liczba magiczna %x w bloku %u dla i-węzła katalogu %<PRIu64>\n"
++msgid "%s: failed to access realtime device for %s\n"
++msgstr "%s: nie udało się uzyskać dostępu do urządzenia realtime dla %s\n"
+-#: .././repair/dir2.c:684
++#: .././growfs/xfs_growfs.c:319
+ #, c-format
+-msgid "bad back pointer in block %u for directory inode %<PRIu64>\n"
+-msgstr "błędny wskaźnik wstecz w bloku %u dla i-węzła katalogu %<PRIu64>\n"
++msgid "data size %lld too large, maximum is %lld\n"
++msgstr "rozmiar danych %lld zbyt duży, maksymalny to %lld\n"
+-#: .././repair/dir2.c:690
++#: .././growfs/xfs_growfs.c:326
+ #, c-format
+-msgid "entry count %d too large in block %u for directory inode %<PRIu64>\n"
+-msgstr "liczba wpisów %d zbyt duża w bloku %u dla i-węzła katalogu %<PRIu64>\n"
++msgid "data size %lld too small, old size is %lld\n"
++msgstr "rozmiar danych %lld zbyt mały, stary rozmiar to %lld\n"
+-#: .././repair/dir2.c:697
++#: .././growfs/xfs_growfs.c:334
+ #, c-format
+-msgid "bad level %d in block %u for directory inode %<PRIu64>\n"
+-msgstr "błędny poziom %d w bloku %u dla i-węzła katalogu %<PRIu64>\n"
++msgid "data size unchanged, skipping\n"
++msgstr "rozmiar danych nie zmieniony, pominięto\n"
+-#: .././repair/dir2.c:740
++#: .././growfs/xfs_growfs.c:337
+ #, c-format
+-msgid ""
+-"correcting bad hashval in interior dir block\n"
+-"\tin (level %d) in inode %<PRIu64>.\n"
+-msgstr ""
+-"poprawiono błędne hashval w wewnętrznym bloku katalogu\n"
+-"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
++msgid "inode max pct unchanged, skipping\n"
++msgstr "maksymalny procent i-węzłów nie zmieniony, pominięto\n"
+-#: .././repair/dir2.c:748
++#: .././growfs/xfs_growfs.c:344 .././growfs/xfs_growfs.c:383
++#: .././growfs/xfs_growfs.c:418
+ #, c-format
+-msgid ""
+-"would correct bad hashval in interior dir block\n"
+-"\tin (level %d) in inode %<PRIu64>.\n"
+-msgstr ""
+-"błędne hashval w wewnętrznym bloku katalogu zostałoby poprawione\n"
+-"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
+-
+-#: .././repair/dir2.c:782
+-msgid "couldn't malloc dir2 shortform copy\n"
+-msgstr "nie udało się przydzielić krótkiej kopii dir2\n"
+-
+-#: .././repair/dir2.c:920
+-msgid "current"
+-msgstr "bieżącego i-węzła"
+-
+-#: .././repair/dir2.c:923 .././repair/dir2.c:1443
+-msgid "invalid"
+-msgstr "nieprawidłowego i-węzła"
+-
+-#: .././repair/dir2.c:926 .././repair/dir2.c:1445
+-msgid "realtime bitmap"
+-msgstr "i-węzła bitmapy realtime"
+-
+-#: .././repair/dir2.c:929 .././repair/dir2.c:1447
+-msgid "realtime summary"
+-msgstr "i-węzła opisu realtime"
+-
+-#: .././repair/dir2.c:932 .././repair/dir2.c:1449
+-msgid "user quota"
+-msgstr "i-węzła limitów użytkownika"
+-
+-#: .././repair/dir2.c:935 .././repair/dir2.c:1451
+-msgid "group quota"
+-msgstr "i-węzła limitów grupy"
+-
+-#: .././repair/dir2.c:953 .././repair/dir2.c:1481
+-msgid "free"
+-msgstr "free"
+-
+-#: .././repair/dir2.c:970 .././repair/dir2.c:1461
+-msgid "non-existent"
+-msgstr "nie istniejącego i-węzła"
++msgid "%s: growfs operation in progress already\n"
++msgstr "%s: operacja growfs już trwa\n"
+-#: .././repair/dir2.c:975
++#: .././growfs/xfs_growfs.c:348
+ #, c-format
+-msgid "entry \"%*.*s\" in shortform directory %<PRIu64> references %s inode %<PRIu64>\n"
+-msgstr "wpis \"%*.*s\" w krótkim katalogu %<PRIu64> odwołuje się do %s %<PRIu64>\n"
++msgid "%s: XFS_IOC_FSGROWFSDATA xfsctl failed: %s\n"
++msgstr "%s: xfsctl XFS_IOC_FSGROWFSDATA nie powiodło się: %s\n"
+-#: .././repair/dir2.c:1005
++#: .././growfs/xfs_growfs.c:364
+ #, c-format
+-msgid "zero length entry in shortform dir %<PRIu64>"
+-msgstr "wpis zerowej długości w krótkim katalogu %<PRIu64>"
++msgid "realtime size %lld too large, maximum is %lld\n"
++msgstr "rozmiar realtime %lld zbyt duży, maksymalny to %lld\n"
+-#: .././repair/dir2.c:1008
++#: .././growfs/xfs_growfs.c:370
+ #, c-format
+-msgid ", junking %d entries\n"
+-msgstr ", wyrzucono %d wpisów\n"
++msgid "realtime size %lld too small, old size is %lld\n"
++msgstr "rozmiar realtime %lld zbyt mały, stary rozmiar to %lld\n"
+-#: .././repair/dir2.c:1011
++#: .././growfs/xfs_growfs.c:376
+ #, c-format
+-msgid ", would junk %d entries\n"
+-msgstr ", %d wpisów zostałoby wyrzucone\n"
++msgid "realtime size unchanged, skipping\n"
++msgstr "rozmiar realtime nie zmieniony, pominięto\n"
+-#: .././repair/dir2.c:1086
++#: .././growfs/xfs_growfs.c:387
+ #, c-format
+-msgid "entry contains offset out of order in shortform dir %<PRIu64>\n"
+-msgstr "wpis zawiera uszkodzony offset w krótkim katalogu %<PRIu64>\n"
++msgid "%s: realtime growth not implemented\n"
++msgstr "%s: powiększanie realtime nie jest zaimplementowane\n"
+-#: .././repair/dir2.c:1189
++#: .././growfs/xfs_growfs.c:391
+ #, c-format
+-msgid "would have corrected i8 count in directory %<PRIu64> from %d to %d\n"
+-msgstr "liczba i8 zostałaby poprawiona w katalogu %<PRIu64> z %d na %d\n"
++msgid "%s: XFS_IOC_FSGROWFSRT xfsctl failed: %s\n"
++msgstr "%s: xfsctl XFS_IOC_FSGROWFSRT nie powiodło się: %s\n"
+-#: .././repair/dir2.c:1193
++#: .././growfs/xfs_growfs.c:412
+ #, c-format
+-msgid "corrected i8 count in directory %<PRIu64>, was %d, now %d\n"
+-msgstr "poprawiono liczbę i8 w katalogu %<PRIu64> - było %d, jest %d\n"
++msgid "log size unchanged, skipping\n"
++msgstr "rozmiar logu nie zmieniony, pominięto\n"
+-#: .././repair/dir2.c:1207
++#: .././growfs/xfs_growfs.c:422
+ #, c-format
+-msgid "would have corrected directory %<PRIu64> size from %<PRId64> to %<PRIdPTR>\n"
+-msgstr "rozmiar katalogu %<PRIu64> zostałby poprawiony z %<PRId64> na %<PRIdPTR>\n"
++msgid "%s: log growth not supported yet\n"
++msgstr "%s: powiększanie logu nie jest jeszcze obsługiwane\n"
+-#: .././repair/dir2.c:1224
++#: .././growfs/xfs_growfs.c:426
+ #, c-format
+-msgid "directory %<PRIu64> offsets too high\n"
+-msgstr "offsety zbyt duże w katalogu %<PRIu64>\n"
++msgid "%s: XFS_IOC_FSGROWFSLOG xfsctl failed: %s\n"
++msgstr "%s: xfsctl XFS_IOC_FSGROWFSLOG nie powiodło się: %s\n"
+-#: .././repair/dir2.c:1230
++#: .././growfs/xfs_growfs.c:434
+ #, c-format
+-msgid "would have corrected entry offsets in directory %<PRIu64>\n"
+-msgstr "offsety wpisów w katalogu %<PRIu64> zostałyby poprawione\n"
++msgid "%s: XFS_IOC_FSGEOMETRY xfsctl failed: %s\n"
++msgstr "%s: xfsctl XFS_IOC_FSGEOMETRY nie powiodło się: %s\n"
+-#: .././repair/dir2.c:1234
++#: .././growfs/xfs_growfs.c:439
+ #, c-format
+-msgid "corrected entry offsets in directory %<PRIu64>\n"
+-msgstr "poprawiono offsety wpisów w katalogu %<PRIu64>\n"
++msgid "data blocks changed from %lld to %lld\n"
++msgstr "bloki danych zmienione z %lld na %lld\n"
+-#: .././repair/dir2.c:1289
++#: .././growfs/xfs_growfs.c:442
+ #, c-format
+-msgid "bad .. entry in directory inode %<PRIu64>, points to self, "
+-msgstr "błędny wpis .. w i-węźle katalogu %<PRIu64>, wskazuje na siebie, "
++msgid "inode max percent changed from %d to %d\n"
++msgstr "maksymalny procent i-węzłów zmieniony z %d na %d\n"
+-#: .././repair/dir2.c:1401
++#: .././growfs/xfs_growfs.c:445
+ #, c-format
+-msgid "corrupt block %u in directory inode %<PRIu64>\n"
+-msgstr "uszkodzony blok %u w i-węźle katalogu %<PRIu64>\n"
+-
+-#: .././repair/dir2.c:1404
+-msgid "\twill junk block\n"
+-msgstr "\tblok zostanie wyrzucony\n"
+-
+-#: .././repair/dir2.c:1406
+-msgid "\twould junk block\n"
+-msgstr "\tblok zostałby wyrzucony\n"
++msgid "log blocks changed from %d to %d\n"
++msgstr "bloki logu zmienione z %d na %d\n"
+-#: .././repair/dir2.c:1490
++#: .././growfs/xfs_growfs.c:448
+ #, c-format
+-msgid "entry \"%*.*s\" at block %d offset %<PRIdPTR> in directory inode %<PRIu64> references %s inode %<PRIu64>\n"
+-msgstr "wpis \"%*.*s\" w bloku %d offsecie %<PRIdPTR> w i-węźle katalogu %<PRIu64> odwołuje się do %s %<PRIu64>\n"
++msgid "log changed from %s to %s\n"
++msgstr "log zmieniony - był %s, jest %s\n"
+-#: .././repair/dir2.c:1501
++#: .././growfs/xfs_growfs.c:452
+ #, c-format
+-msgid "entry at block %u offset %<PRIdPTR> in directory inode %<PRIu64>has 0 namelength\n"
+-msgstr "wpis w bloku %u offsecie %<PRIdPTR> w i-węźle katalogu %<PRIu64> ma zerową długość nazwy\n"
++msgid "realtime blocks changed from %lld to %lld\n"
++msgstr "bloki realtime zmienione z %lld na %lld\n"
+-#: .././repair/dir2.c:1514
++#: .././growfs/xfs_growfs.c:455
+ #, c-format
+-msgid "\tclearing inode number in entry at offset %<PRIdPTR>...\n"
+-msgstr "\twyczyszczono numer i-węzła we wpisie o offsecie %<PRIdPTR>...\n"
++msgid "realtime extent size changed from %d to %d\n"
++msgstr "rozmiar ekstentu realtime zmieniony z %d na %d\n"
+-#: .././repair/dir2.c:1521
++#: .././io/attr.c:59
+ #, c-format
+-msgid "\twould clear inode number in entry at offset %<PRIdPTR>...\n"
+-msgstr "\tnumer i-węzła we wpisie o offsecie %<PRIdPTR> zostałby wyczyszczony...\n"
+-
+-#: .././repair/dir2.c:1534
+-#, c-format
+-msgid "entry at block %u offset %<PRIdPTR> in directory inode %<PRIu64> has illegal name \"%*.*s\": "
+-msgstr "wpis w bloku %u offsecie %<PRIdPTR> w i-węźle katalogu %<PRIu64> ma niedozwoloną nazwę \"%*.*s\": "
++msgid ""
++"\n"
++" displays the set of extended inode flags associated with the current file\n"
++"\n"
++" Each individual flag is displayed as a single character, in this order:\n"
++" r -- file data is stored in the realtime section\n"
++" p -- file has preallocated extents (cannot be changed using chattr)\n"
++" i -- immutable, file cannot be modified\n"
++" a -- append-only, file can only be appended to\n"
++" s -- all updates are synchronous\n"
++" A -- the access time is not updated for this inode\n"
++" d -- do not include this file in a dump of the filesystem\n"
++" t -- child created in this directory has realtime bit set by default\n"
++" P -- child created in this directory has parents project ID by default\n"
++" n -- symbolic links cannot be created in this directory\n"
++" e -- for non-realtime files, observe the inode extent size value\n"
++" E -- children created in this directory inherit the extent size value\n"
++" f -- do not include this file when defragmenting the filesystem\n"
++" S -- enable filestreams allocator for this directory\n"
++"\n"
++" Options:\n"
++" -R -- recursively descend (useful when current file is a directory)\n"
++" -D -- recursively descend, but only list attributes on directories\n"
++" -a -- show all flags which can be set alongside those which are set\n"
++" -v -- verbose mode; show long names of flags, not single characters\n"
++"\n"
++msgstr ""
++"\n"
++" wyświetlanie zbioru rozszerzonych flag i-węzłów związanych z bieżącym plikiem\n"
++"\n"
++" Każda flaga jest wyświetlana jako pojedynczy znak, w tej kolejności:\n"
++" r - dane pliku są zapisane w sekcji realtime\n"
++" p - plik ma już przydzielone ekstenty (nie do zmiany przez chattr)\n"
++" i - niezmienny, pliku nie można modyfikować\n"
++" a - tylko do dopisywania, do pliku można tylko dopisywać\n"
++" s - wszystkie uaktualnienia są synchroniczne\n"
++" A - czas dostępu nie jest uaktualniany dla tego i-węzła\n"
++" d - nie dołączanie pliku do zrzutu systemu plików\n"
++" t - wpisy tworzone w tym katalogu mają domyślnie ustawiony bit realtime\n"
++" P - wpisy tworzone w tym katalogu mają domyślnie ID projektu rodzica\n"
++" n - w tym katalogu nie można tworzyć dowiązań symbolicznych\n"
++" e - dla plików nie-realtime - przestrzeganie wartości rozmiaru ekstentu i-węzła\n"
++" E - wpisy tworzone w tym katalogu dziedziczą wartość rozmiaru ekstentu\n"
++" f - nie uwzględnianie tego pliku przy defragmentacji systemu plików\n"
++" S - włączenie przydzielania strumieni plikowych dla tego katalogu\n"
++"\n"
++" Opcje:\n"
++" -R - rekurencyjne zagłębianie się (przydatne kiedy bieżący plik jest katalogiem)\n"
++" -D - rekurencyjne zagłębianie się, ale wypisywanie atrybutów tylko katalogów\n"
++" -a - pokazywanie wszystkich flag, które można ustawić, obok ustawionych\n"
++" -v - tryb szczegółowy; pokazywanie długich nazw flag zamiast pojedynczych znaków\n"
++"\n"
+-#: .././repair/dir2.c:1564
++#: .././io/attr.c:90
+ #, c-format
+-msgid "bad .. entry in directory inode %<PRIu64>, points to self: "
+-msgstr "błędny wpis .. w i-węźle katalogu %<PRIu64>, wskazuje na siebie: "
++msgid ""
++"\n"
++" modifies the set of extended inode flags associated with the current file\n"
++"\n"
++" Examples:\n"
++" 'chattr +a' - sets the append-only flag\n"
++" 'chattr -a' - clears the append-only flag\n"
++"\n"
++" -R -- recursively descend (useful when current file is a directory)\n"
++" -D -- recursively descend, only modifying attributes on directories\n"
++" +/-r -- set/clear the realtime flag\n"
++" +/-i -- set/clear the immutable flag\n"
++" +/-a -- set/clear the append-only flag\n"
++" +/-s -- set/clear the sync flag\n"
++" +/-A -- set/clear the no-atime flag\n"
++" +/-d -- set/clear the no-dump flag\n"
++" +/-t -- set/clear the realtime inheritance flag\n"
++" +/-P -- set/clear the project ID inheritance flag\n"
++" +/-n -- set/clear the no-symbolic-links flag\n"
++" +/-e -- set/clear the extent-size flag\n"
++" +/-E -- set/clear the extent-size inheritance flag\n"
++" +/-f -- set/clear the no-defrag flag\n"
++" +/-S -- set/clear the filestreams allocator flag\n"
++" Note1: user must have certain capabilities to modify immutable/append-only.\n"
++" Note2: immutable/append-only files cannot be deleted; removing these files\n"
++"        requires the immutable/append-only flag to be cleared first.\n"
++" Note3: the realtime flag can only be set if the filesystem has a realtime\n"
++"        section, and the (regular) file must be empty when the flag is set.\n"
++"\n"
++msgstr ""
++"\n"
++" zmiana zbioru rozszerzonych flag i-węzłów związanych z bieżącym plikiem\n"
++"\n"
++" Przykłady:\n"
++" 'chattr +a' - ustawia flagę tylko do dopisywania\n"
++" 'chattr -a' - zdejmuje flagę tylko do dopisywania\n"
++"\n"
++" -R - rekurencyjne zagłębianie się (przydatne kiedy bieżący plik jest katalogiem)\n"
++" -D - rekurencyjne zagłębianie się, ale zmiana atrybutów tylko katalogów\n"
++" +/-r - ustawienie/zdjęcie flagi realtime\n"
++" +/-i - ustawienie/zdjęcie flagi immutable (niezmienności)\n"
++" +/-a - ustawienie/zdjęcie flagi append-only (tylko do dopisywania)\n"
++" +/-s - ustawienie/zdjęcie flagi sync (synchronicznego zapisu)\n"
++" +/-A - ustawienie/zdjęcie flagi no-atime\n"
++" +/-d - ustawienie/zdjęcie flagi no-dump\n"
++" +/-t - ustawienie/zdjęcie flagi dziedziczenia realtime\n"
++" +/-P - ustawienie/zdjęcie flagi dziedziczenia ID projektu\n"
++" +/-n - ustawienie/zdjęcie flagi braku dowiązań symbolicznych\n"
++" +/-e - ustawienie/zdjęcie flagi rozmiaru ekstentu\n"
++" +/-E - ustawienie/zdjęcie flagi dziedziczenia rozmiaru ekstentu\n"
++" +/-f - ustawienie/zdjęcie flagi no-defrag\n"
++" +/-S - ustawienie/zdjęcie flagi przydzielania strumieni plikowych\n"
++" Uwaga1: użytkownik musi mieć pewne uprawnienia do zmiany flag\n"
++"         immutable/append-only\n"
++" Uwaga2: plików immutable/append-only nie można usuwać; usuwanie tych plików\n"
++"         wymaga zdjęcia flag immutable/append-only przed usunięciem.\n"
++" Uwaga3: flagę realtime można ustawić tylko jeśli system plików ma sekcję\n"
++"         realtime i (zwykły) plik musi być pusty przy ustawianiu flagi.\n"
++"\n"
+-#: .././repair/dir2.c:1575
++#: .././io/attr.c:171 .././io/attr.c:247 .././io/open.c:424 .././io/open.c:496
++#: .././io/open.c:620 .././io/open.c:642 .././libxfs/init.c:109
++#: .././mkfs/proto.c:294 .././quota/project.c:118 .././quota/project.c:163
++#: .././quota/project.c:210
+ #, c-format
+-msgid "bad .. entry in root directory inode %<PRIu64>, was %<PRIu64>: "
+-msgstr "błędny wpis w i-węźle głównego katalogu %<PRIu64>, było %<PRIu64>: "
+-
+-#: .././repair/dir2.c:1578 .././repair/dir2.c:1610 .././repair/phase2.c:180
+-#: .././repair/phase2.c:189 .././repair/phase2.c:198
+-msgid "correcting\n"
+-msgstr "poprawiono\n"
+-
+-#: .././repair/dir2.c:1582 .././repair/dir2.c:1614 .././repair/phase2.c:182
+-#: .././repair/phase2.c:191 .././repair/phase2.c:200
+-msgid "would correct\n"
+-msgstr "zostałby poprawiony\n"
++msgid "%s: cannot open %s: %s\n"
++msgstr "%s: nie można otworzyć %s: %s\n"
+-#: .././repair/dir2.c:1594
++#: .././io/attr.c:174 .././io/attr.c:221 .././io/attr.c:250 .././io/attr.c:321
++#: .././quota/project.c:122 .././quota/project.c:168 .././quota/project.c:215
+ #, c-format
+-msgid "multiple .. entries in directory inode %<PRIu64>: "
+-msgstr "wiele wpisów .. w i-węźle katalogu %<PRIu64>: "
++msgid "%s: cannot get flags on %s: %s\n"
++msgstr "%s: nie można pobrać flag %s: %s\n"
+-#: .././repair/dir2.c:1607
++#: .././io/attr.c:256 .././io/attr.c:327
+ #, c-format
+-msgid "bad . entry in directory inode %<PRIu64>, was %<PRIu64>: "
+-msgstr "błędny wpis . w i-węźle katalogu %<PRIu64>, było %<PRIu64>: "
++msgid "%s: cannot set flags on %s: %s\n"
++msgstr "%s: nie można ustawić flag %s: %s\n"
+-#: .././repair/dir2.c:1619
++#: .././io/attr.c:291 .././io/attr.c:305
+ #, c-format
+-msgid "multiple . entries in directory inode %<PRIu64>: "
+-msgstr "wiele wpisów . w i-węźle katalogu %<PRIu64>: "
++msgid "%s: unknown flag\n"
++msgstr "%s: nieznana flaga\n"
+-#: .././repair/dir2.c:1629
++#: .././io/attr.c:311
+ #, c-format
+-msgid "entry \"%*.*s\" in directory inode %<PRIu64> points to self: "
+-msgstr "wpis \"%*.*s\" w i-węźle katalogu %<PRIu64> wskazuje na siebie: "
++msgid "%s: bad chattr command, not +/-X\n"
++msgstr "%s: złe polecenie chattr - nie +/-X\n"
+-#: .././repair/dir2.c:1640
+-msgid "clearing entry\n"
+-msgstr "wyczyszczono wpis\n"
++#: .././io/attr.c:338
++msgid "[-R|-D] [+/-"
++msgstr "[-R|-D] [+/-"
+-#: .././repair/dir2.c:1655
+-#, c-format
+-msgid "bad bestfree table in block %u in directory inode %<PRIu64>: "
+-msgstr "błędna tablica bestfree w bloku %u w i-węźle katalogu %<PRIu64>: "
++#: .././io/attr.c:343
++msgid "change extended inode flags on the currently open file"
++msgstr "zmiana rozszerzonych flag i-węzłów aktualnie otwartego pliku"
+-#: .././repair/dir2.c:1658
+-msgid "repairing table\n"
+-msgstr "naprawiono tablicę\n"
++#: .././io/attr.c:348
++msgid "[-R|-D|-a|-v]"
++msgstr "[-R|-D|-a|-v]"
+-#: .././repair/dir2.c:1662
+-msgid "would repair table\n"
+-msgstr "tablica zostałaby naprawiona\n"
++#: .././io/attr.c:353
++msgid "list extended inode flags set on the currently open file"
++msgstr "wypisanie rozszerzonych flag i-węzłów aktualnie otwartego pliku"
+-#: .././repair/dir2.c:1700
++#: .././io/bmap.c:30
+ #, c-format
+-msgid "block %u for directory inode %<PRIu64> is missing\n"
+-msgstr "brak bloku %u dla i-węzła katalogu %<PRIu64>\n"
++msgid ""
++"\n"
++" prints the block mapping for an XFS file's data or attribute forks\n"
++" Example:\n"
++" 'bmap -vp' - tabular format verbose map, including unwritten extents\n"
++"\n"
++" bmap prints the map of disk blocks used by the current file.\n"
++" The map lists each extent used by the file, as well as regions in the\n"
++" file that do not have any corresponding blocks (holes).\n"
++" By default, each line of the listing takes the following form:\n"
++"     extent: [startoffset..endoffset]: startblock..endblock\n"
++" Holes are marked by replacing the startblock..endblock with 'hole'.\n"
++" All the file offsets and disk blocks are in units of 512-byte blocks.\n"
++" -a -- prints the attribute fork map instead of the data fork.\n"
++" -d -- suppresses a DMAPI read event, offline portions shown as holes.\n"
++" -l -- also displays the length of each extent in 512-byte blocks.\n"
++" -n -- query n extents.\n"
++" -p -- obtain all unwritten extents as well (w/ -v show which are unwritten.)\n"
++" -v -- Verbose information, specify ag info.  Show flags legend on 2nd -v\n"
++" Note: the bmap for non-regular files can be obtained provided the file\n"
++" was opened appropriately (in particular, must be opened read-only).\n"
++"\n"
++msgstr ""
++"\n"
++" wypisanie mapowania bloków dla danych lub atrybutów pliku na XFS-ie\n"
++" Przykład:\n"
++" 'bmap -vp' - szczegółowa mapa w formacie tabeli wraz z nie zapisanymi\n"
++"              ekstentami\n"
++"\n"
++" bmap wypisuje mapę bloków dysku używanych przez bieżący plik.\n"
++" Mapa opisuje każdy ekstent użyty przez plik, a także regiony w pliku\n"
++" nie mające przypisanych bloków (dziury).\n"
++" Domyślnie każda linia listingu przyjmuje następującą postać:\n"
++"     ekstent: [offsetpocz..offsetkońc]: blokpocz..blokkońc\n"
++" Dziury są oznaczane przez zastąpienie blokpocz..blokkońc przez 'dziura'.\n"
++" Wszystkie offsety w plikach i bloki dysku są w jednostkach 512-bajtowych.\n"
++" -a - wypisanie mapy gałęzi atrybutów zamiast gałęzi danych.\n"
++" -d - pominięcie zdarzenia odczytu DMAPI, pokazanie części offline jako dziur.\n"
++" -l - wyświetlenie także długości każdego fragmentu w 512-bajtowych blokach.\n"
++" -n - odpytanie n ekstentów.\n"
++" -p - wypisanie także nie zapisanych ekstentów (z -v pokazuje, które są nie\n"
++"      zapisane).\n"
++" -v - szczegółowe informacje z podaniem informacji ag; legenda drugim -v\n"
++" Uwaga: bmap dla plików nie będących plikami zwykłymi można uzyskać pod\n"
++" warunkiem, że plik został otwarty odpowiednio (w szczególności musi być\n"
++" otwarty tylko do odczytu).\n"
++"\n"
+-#: .././repair/dir2.c:1719
++#: .././io/bmap.c:123
+ #, c-format
+-msgid "bad directory block magic # %#x in block %u for directory inode %<PRIu64>\n"
+-msgstr "błędna liczba magiczna bloku katalogu %#x w bloku %u dla i-węzła katalogu %<PRIu64>\n"
++msgid "%s: can't get geometry [\"%s\"]: %s\n"
++msgstr "%s: nie można uzyskać geometrii [\"%s\"]: %s\n"
+-#: .././repair/dir2.c:1763
++#: .././io/bmap.c:131
+ #, c-format
+-msgid "bad entry count in block %u of directory inode %<PRIu64>\n"
+-msgstr "błędna liczba wpisów w bloku %u i-węzła katalogu %<PRIu64>\n"
++msgid "%s: cannot read attrs on \"%s\": %s\n"
++msgstr "%s: nie można odczytać atrybutów \"%s\": %s\n"
+-#: .././repair/dir2.c:1771
++#: .././io/bmap.c:149 .././io/fiemap.c:259
+ #, c-format
+-msgid "bad hash ordering in block %u of directory inode %<PRIu64>\n"
+-msgstr "błędna kolejność hasza w bloku %u i-węzła katalogu %<PRIu64>\n"
++msgid "%s: malloc of %d bytes failed.\n"
++msgstr "%s: przydzielenie %d bajtów nie powiodło się.\n"
+-#: .././repair/dir2.c:1780
++#: .././io/bmap.c:197
+ #, c-format
+-msgid "bad stale count in block %u of directory inode %<PRIu64>\n"
+-msgstr "błędna liczba stale %u i-węzła katalogu %<PRIu64>\n"
++msgid "%s: xfsctl(XFS_IOC_GETBMAPX) iflags=0x%x [\"%s\"]: %s\n"
++msgstr "%s: xfsctl(XFS_IOC_GETBMAPX) iflags=0x%x [\"%s\"]: %s\n"
+-#: .././repair/dir2.c:1838
++#: .././io/bmap.c:228
+ #, c-format
+-msgid "can't read file block %u for directory inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku pliku %u dla i-węzła katalogu %<PRIu64>\n"
++msgid "%s: cannot realloc %d bytes\n"
++msgstr "%s: nie można wykonać realloc na %d bajtów\n"
+-#: .././repair/dir2.c:1849
++#: .././io/bmap.c:237
+ #, c-format
+-msgid "bad directory leaf magic # %#x for directory inode %<PRIu64> block %u\n"
+-msgstr "błędna liczba magiczna liścia katalogu %#x dla i-węzła katalogu %<PRIu64> bloku %u\n"
++msgid "%s: no extents\n"
++msgstr "%s: brak ekstentów\n"
+-#: .././repair/dir2.c:1879
++#: .././io/bmap.c:251 .././io/bmap.c:379 .././io/fiemap.c:105
++#: .././io/fiemap.c:340 .././io/fiemap.c:344
+ #, c-format
+-msgid "bad sibling back pointer for block %u in directory inode %<PRIu64>\n"
+-msgstr "błędny wskaźnik wstecz dla bloku %u w i-węźle katalogu %<PRIu64>\n"
++msgid "hole"
++msgstr "dziura"
+-#: .././repair/dir2.c:2009
++#: .././io/bmap.c:260
+ #, c-format
+-msgid "block %<PRIu64> for directory inode %<PRIu64> is missing\n"
+-msgstr "brak bloku %<PRIu64> dla i-węzła katalogu %<PRIu64>\n"
++msgid " %lld blocks\n"
++msgstr " %lld bloków\n"
+-#: .././repair/dir2.c:2018
+-#, c-format
+-msgid "can't read block %<PRIu64> for directory inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku %<PRIu64> dla i-węzła katalogu %<PRIu64>\n"
++#: .././io/bmap.c:339 .././io/fiemap.c:94
++msgid "EXT"
++msgstr "EXT"
+-#: .././repair/dir2.c:2025
+-#, c-format
+-msgid "bad directory block magic # %#x in block %<PRIu64> for directory inode %<PRIu64>\n"
+-msgstr "błędna liczba magiczna bloku katalogu %#x w bloku %<PRIu64> dla i-węzła katalogu %<PRIu64>\n"
++#: .././io/bmap.c:340 .././io/fiemap.c:95
++msgid "FILE-OFFSET"
++msgstr "OFFSET-W-PLIKU"
+-#: .././repair/dir2.c:2102
+-#, c-format
+-msgid "bad size/format for directory %<PRIu64>\n"
+-msgstr "błędny rozmiar/format dla katalogu %<PRIu64>\n"
++#: .././io/bmap.c:341
++msgid "RT-BLOCK-RANGE"
++msgstr "ZAKRES-BLOKÓW-RT"
+-#: .././repair/phase4.c:202
+-msgid "Phase 4 - check for duplicate blocks...\n"
+-msgstr "Faza 4 - sprawdzanie powtórzonych bloków...\n"
++#: .././io/bmap.c:341 .././io/fiemap.c:96
++msgid "BLOCK-RANGE"
++msgstr "ZAKRES-BLOKÓW"
+-#: .././repair/phase4.c:203
+-msgid "        - setting up duplicate extent list...\n"
+-msgstr "        - tworzenie listy powtórzonych ekstentów...\n"
++#: .././io/bmap.c:342
++msgid "AG"
++msgstr "AG"
+-#: .././repair/phase4.c:217
+-msgid "root inode would be lost\n"
+-msgstr "główny i-węzeł zostałby utracony\n"
++#: .././io/bmap.c:343
++msgid "AG-OFFSET"
++msgstr "OFFSET-AG"
+-#: .././repair/phase4.c:219
+-msgid "root inode lost\n"
+-msgstr "główny i-węzeł utracony\n"
++#: .././io/bmap.c:344 .././io/fiemap.c:97
++msgid "TOTAL"
++msgstr "RAZEM"
+-#: .././repair/phase4.c:236
+-#, c-format
+-msgid "unknown block state, ag %d, block %d\n"
+-msgstr "nieznany stan bloku, ag %d, blok %d\n"
++#: .././io/bmap.c:345
++msgid " FLAGS"
++msgstr " FLAGI"
+-#: .././repair/phase4.c:269
++#: .././io/bmap.c:413
+ #, c-format
+-msgid "unknown rt extent state, extent %<PRIu64>\n"
+-msgstr "nieznany stan ekstentu rt, ekstent %<PRIu64>\n"
+-
+-#: .././repair/phase4.c:318
+-msgid "        - check for inodes claiming duplicate blocks...\n"
+-msgstr "        - szukanie i-węzłów odwołujących się do powtórzonych bloków...\n"
++msgid " FLAG Values:\n"
++msgstr " Wartości FLAG:\n"
+-#: .././repair/phase6.c:63
++#: .././io/bmap.c:414
+ #, c-format
+-msgid "malloc failed add_dotdot_update (%zu bytes)\n"
+-msgstr "malloc nie powiodło się w add_dotdot_update (%zu bajtów)\n"
++msgid "    %*.*o Unwritten preallocated extent\n"
++msgstr "    %*.*o Nie zapisany, już przydzielony ekstent\n"
+-#: .././repair/phase6.c:174
++#: .././io/bmap.c:416
+ #, c-format
+-msgid "malloc failed in dir_hash_add (%zu bytes)\n"
+-msgstr "malloc nie powiodło się w dir_hash_add (%zu bajtów)\n"
+-
+-#: .././repair/phase6.c:228
+-msgid "ok"
+-msgstr "ok"
+-
+-#: .././repair/phase6.c:229
+-msgid "duplicate leaf"
+-msgstr "powtórzony liść"
+-
+-#: .././repair/phase6.c:230
+-msgid "hash value mismatch"
+-msgstr "niezgodność wartości hasza"
+-
+-#: .././repair/phase6.c:231
+-msgid "no data entry"
+-msgstr "brak wpisu danych"
+-
+-#: .././repair/phase6.c:232
+-msgid "no leaf entry"
+-msgstr "brak wpisu liścia"
+-
+-#: .././repair/phase6.c:233
+-msgid "bad stale count"
+-msgstr "błędna liczba stale"
++msgid "    %*.*o Doesn't begin on stripe unit\n"
++msgstr "    %*.*o Nie zaczyna się od jednostki pasa\n"
+-#: .././repair/phase6.c:241
++#: .././io/bmap.c:418
+ #, c-format
+-msgid "bad hash table for directory inode %<PRIu64> (%s): "
+-msgstr "błędna tablica haszująca dla i-węzła katalogu %<PRIu64> (%s): "
++msgid "    %*.*o Doesn't end   on stripe unit\n"
++msgstr "    %*.*o Nie kończy się na jednostce pasa\n"
+-#: .././repair/phase6.c:244
+-msgid "rebuilding\n"
+-msgstr "przebudowano\n"
++#: .././io/bmap.c:420
++#, c-format
++msgid "    %*.*o Doesn't begin on stripe width\n"
++msgstr "    %*.*o Nie zaczyna się na szerokości pasa\n"
+-#: .././repair/phase6.c:246
+-msgid "would rebuild\n"
+-msgstr "zostałaby przebudowana\n"
++#: .././io/bmap.c:422
++#, c-format
++msgid "    %*.*o Doesn't end   on stripe width\n"
++msgstr "    %*.*o Nie kończy się na szerokości pasa\n"
+-#: .././repair/phase6.c:282
+-msgid "calloc failed in dir_hash_init\n"
+-msgstr "calloc nie powiodło się w dir_hash_init\n"
++#: .././io/bmap.c:438
++msgid "[-adlpv] [-n nx]"
++msgstr "[-adlpv] [-n nx]"
+-#: .././repair/phase6.c:412
+-msgid "ran out of disk space!\n"
+-msgstr "brak miejsca na dysku!\n"
++#: .././io/bmap.c:439
++msgid "print block mapping for an XFS file"
++msgstr "wypisanie mapowania bloków dla pliku na XFS-ie"
+-#: .././repair/phase6.c:414
++#: .././io/fadvise.c:31
+ #, c-format
+-msgid "xfs_trans_reserve returned %d\n"
+-msgstr "xfs_trans_reserve zwróciło %d\n"
++msgid ""
++"\n"
++" advise the page cache about expected I/O patterns on the current file\n"
++"\n"
++" Modifies kernel page cache behaviour when operating on the current file.\n"
++" The range arguments are required by some advise commands ([*] below).\n"
++" With no arguments, the POSIX_FADV_NORMAL advice is implied.\n"
++" -d -- don't need these pages (POSIX_FADV_DONTNEED) [*]\n"
++" -n -- data will be accessed once (POSIX_FADV_NOREUSE) [*]\n"
++" -r -- expect random page references (POSIX_FADV_RANDOM)\n"
++" -s -- expect sequential page references (POSIX_FADV_SEQUENTIAL)\n"
++" -w -- will need these pages (POSIX_FADV_WILLNEED) [*]\n"
++" Notes: these interfaces are not supported in Linux kernels before 2.6.\n"
++"   NORMAL sets the default readahead setting on the file.\n"
++"   RANDOM sets the readahead setting on the file to zero.\n"
++"   SEQUENTIAL sets double the default readahead setting on the file.\n"
++"   WILLNEED and NOREUSE are equivalent, and force the maximum readahead.\n"
++"\n"
++msgstr ""
++"\n"
++" doradzenie buforowi stron w sprawie oczekiwanych schematów we/wy na bieżącym\n"
++" pliku\n"
++"\n"
++" fadvise modyfikuje zachowanie bufora stron przy operacjach na bieżącym pliku.\n"
++" Niektóre polecenia fadvise ([*] poniżej) wymagają podania zakresu.\n"
++" Bez argumentów zakłada się doradzenie POSIX_FADV_NORMAL.\n"
++" -d - podane strony nie są wymagane (POSIX_FADV_DONTNEED) [*]\n"
++" -n - dostęp do danych będzie jednokrotny (POSIX_FADV_NOREUSE) [*]\n"
++" -r - należy oczekiwać losowych odwołań do stron (POSIX_FADV_RANDOM)\n"
++" -s - należy oczekiwać sekwencyjnych odwołań do stron (POSIX_FADV_SEQUENTIAL)\n"
++" -w - podane strony będą potrzebne (POSIX_FADV_WILLNEED) [*]\n"
++" Uwagi: te interfejsy nie były obsługiwane przez jądra Linuksa przed 2.6.\n"
++"  NORMAL ustawia domyślną wartość czytania z wyprzedzeniem dla pliku.\n"
++"  RANDOM ustawia czytanie z wyprzedzeniem dla pliku na zero.\n"
++"  SEQUENTIAL ustawia podwójną domyślną wartość czytania z wyprzedzeniem.\n"
++"  WILLNEED i NOREUSE są równoznaczne i wymuszają maksymalne czytanie\n"
++"  z wyprzedzeniem.\n"
++"\n"
+-#: .././repair/phase6.c:443 .././repair/phase6.c:536
++#: .././io/fadvise.c:92 .././io/madvise.c:87 .././io/mincore.c:48
++#: .././io/mmap.c:206 .././io/mmap.c:301 .././io/mmap.c:387 .././io/mmap.c:546
++#: .././io/prealloc.c:65 .././io/pwrite.c:344 .././io/sendfile.c:126
++#: .././io/sync_file_range.c:75
+ #, c-format
+-msgid "couldn't iget realtime bitmap inode -- error - %d\n"
+-msgstr "nie udało się wykonać iget dla i-węzła bitmapy realtime - błąd %d\n"
++msgid "non-numeric offset argument -- %s\n"
++msgstr "nieliczbowy argument będący offsetem - %s\n"
+-#: .././repair/phase6.c:493
++#: .././io/fadvise.c:99 .././io/madvise.c:94 .././io/mincore.c:54
++#: .././io/mmap.c:212 .././io/mmap.c:308 .././io/mmap.c:394 .././io/mmap.c:553
++#: .././io/pread.c:452 .././io/pread.c:460 .././io/prealloc.c:70
++#: .././io/pwrite.c:350 .././io/sendfile.c:133 .././io/sync_file_range.c:82
+ #, c-format
+-msgid "couldn't allocate realtime bitmap, error = %d\n"
+-msgstr "nie udało się przydzielić bitmapy realtime, błąd = %d\n"
++msgid "non-numeric length argument -- %s\n"
++msgstr "nieliczbowy argument będący długością - %s\n"
+-#: .././repair/phase6.c:506
+-#, c-format
+-msgid "allocation of the realtime bitmap failed, error = %d\n"
+-msgstr "przydzielenie bitmapy realtime nie powiodło się, błąd = %d\n"
++#: .././io/fadvise.c:122
++msgid "[-dnrsw] [off len]"
++msgstr "[-dnrsw] [offset długość]"
+-#: .././repair/phase6.c:549
+-#, c-format
+-msgid "couldn't map realtime bitmap block %<PRIu64>, error = %d\n"
+-msgstr "nie udało się odwzorować bloku bitmapy realtime %<PRIu64>, błąd = %d\n"
++#: .././io/fadvise.c:123
++msgid "advisory commands for sections of a file"
++msgstr "polecenia doradcze dla sekcji pliku"
+-#: .././repair/phase6.c:562
++#: .././io/fiemap.c:32
+ #, c-format
+-msgid "can't access block %<PRIu64> (fsbno %<PRIu64>) of realtime bitmap inode %<PRIu64>\n"
+-msgstr "brak dostępu do bloku %<PRIu64> (fsbno %<PRIu64>) i-węzła bitmapy realtime %<PRIu64>\n"
++msgid ""
++"\n"
++" prints the block mapping for a file's data or attribute forks\n"
++" Example:\n"
++" 'fiemap -v' - tabular format verbose map\n"
++"\n"
++" fiemap prints the map of disk blocks used by the current file.\n"
++" The map lists each extent used by the file, as well as regions in the\n"
++" file that do not have any corresponding blocks (holes).\n"
++" By default, each line of the listing takes the following form:\n"
++"     extent: [startoffset..endoffset]: startblock..endblock\n"
++" Holes are marked by replacing the startblock..endblock with 'hole'.\n"
++" All the file offsets and disk blocks are in units of 512-byte blocks.\n"
++" -a -- prints the attribute fork map instead of the data fork.\n"
++" -l -- also displays the length of each extent in 512-byte blocks.\n"
++" -n -- query n extents.\n"
++" -v -- Verbose information\n"
++"\n"
++msgstr ""
++"\n"
++" wypisanie mapowania bloków dla danych lub atrybutów pliku\n"
++" Przykład:\n"
++" 'fiemap -v' - szczegółowa mapa w formacie tabeli\n"
++"\n"
++" fiemap wypisuje mapę bloków dysku używanych przez bieżący plik.\n"
++" Mapa opisuje każdy ekstent użyty przez plik, a także regiony w pliku\n"
++" nie mające przypisanych bloków (dziury).\n"
++" Domyślnie każda linia listingu przyjmuje następującą postać:\n"
++"     ekstent: [offsetpocz..offsetkońc]: blokpocz..blokkońc\n"
++" Dziury są oznaczane przez zastąpienie blokpocz..blokkońc przez 'dziura'.\n"
++" Wszystkie offsety w plikach i bloki dysku są w jednostkach 512-bajtowych.\n"
++" -a - wypisanie mapy gałęzi atrybutów zamiast gałęzi danych.\n"
++" -l - wyświetlenie także długości każdego fragmentu w 512-bajtowych blokach.\n"
++" -n - odpytanie n ekstentów.\n"
++" -v - szczegółowe informacje\n"
++"\n"
+-#: .././repair/phase6.c:605 .././repair/phase6.c:676
+-#, c-format
+-msgid "couldn't iget realtime summary inode -- error - %d\n"
+-msgstr "nie udało się wykonać iget dla i-węzła opisu realtime - błąd %d\n"
++#: .././io/fiemap.c:98
++msgid "FLAGS"
++msgstr "FLAGI"
+-#: .././repair/phase6.c:618
++#: .././io/fiemap.c:147 .././io/fiemap.c:161 .././io/fiemap.c:346
+ #, c-format
+-msgid "couldn't map realtime summary inode block %<PRIu64>, error = %d\n"
+-msgstr "nie udało się odwzorować bloku i-węzła opisu realtime %<PRIu64>, błąd = %d\n"
++msgid " %llu blocks\n"
++msgstr " %llu bloków\n"
+-#: .././repair/phase6.c:631
+-#, c-format
+-msgid "can't access block %<PRIu64> (fsbno %<PRIu64>) of realtime summary inode %<PRIu64>\n"
+-msgstr "brak dostępu do bloku %<PRIu64> (fsbno %<PRIu64>) i-węzła opisu realtime %<PRIu64>\n"
++#: .././io/fiemap.c:366
++msgid "[-alv] [-n nx]"
++msgstr "[-alv] [-n nx]"
+-#: .././repair/phase6.c:732
+-#, c-format
+-msgid "couldn't allocate realtime summary inode, error = %d\n"
+-msgstr "nie udało się przydzielić i-węzła opisu realtime, błąd = %d\n"
++#: .././io/fiemap.c:367
++msgid "print block mapping for a file"
++msgstr "wypisanie mapowania bloków dla pliku"
+-#: .././repair/phase6.c:745
++#: .././io/file.c:39
+ #, c-format
+-msgid "allocation of the realtime summary ino failed, error = %d\n"
+-msgstr "przydzielenie i-węzła opisu realtime nie powiodło się, błąd = %d\n"
++msgid "%c%03d%c %-14s (%s,%s,%s,%s%s%s%s%s)\n"
++msgstr "%c%03d%c %-14s (%s,%s,%s,%s%s%s%s%s)\n"
+-#: .././repair/phase6.c:775
+-#, c-format
+-msgid "could not iget root inode -- error - %d\n"
+-msgstr "nie udało się wykonać iget dla głównego i-węzła - błąd %d\n"
++#: .././io/file.c:41
++msgid "foreign"
++msgstr "obcy"
+-#: .././repair/phase6.c:845
+-#, c-format
+-msgid "%d - couldn't iget root inode to obtain %s\n"
+-msgstr "%d - nie udało się wykonać iget dla głównego węzła, aby uzyskać %s\n"
++#: .././io/file.c:41
++msgid "xfs"
++msgstr "xfs"
+-#: .././repair/phase6.c:876
+-#, c-format
+-msgid "%s inode allocation failed %d\n"
+-msgstr "przydzielenie i-węzłą %s nie powiodło się - %d\n"
++#: .././io/file.c:42 .././io/open.c:97
++msgid "sync"
++msgstr "synchr"
+-#: .././repair/phase6.c:907
+-#, c-format
+-msgid "can't make %s, createname error %d\n"
+-msgstr "nie można zrobić %s, błąd createname %d\n"
++#: .././io/file.c:42 .././io/open.c:97
++msgid "non-sync"
++msgstr "niesynchr"
+-#: .././repair/phase6.c:927
+-#, c-format
+-msgid "%s directory creation failed -- bmapf error %d\n"
+-msgstr "tworzenie katalogu %s nie powiodło się - błąd bmapf %d\n"
++#: .././io/file.c:43 .././io/open.c:98
++msgid "direct"
++msgstr "bezpośredni"
+-#: .././repair/phase6.c:970
+-#, c-format
+-msgid "%d - couldn't iget orphanage inode\n"
+-msgstr "%d - nie udało się wykonać iget dla i-węzła sierocińca\n"
++#: .././io/file.c:43 .././io/open.c:98
++msgid "non-direct"
++msgstr "niebezpośredni"
+-#: .././repair/phase6.c:983
+-#, c-format
+-msgid "%d - couldn't iget disconnected inode\n"
+-msgstr "%d - nie udało się wykonać iget dla odłączonego i-węzła\n"
++#: .././io/file.c:44 .././io/open.c:99
++msgid "read-only"
++msgstr "tylko do odczytu"
+-#: .././repair/phase6.c:1003 .././repair/phase6.c:1047
+-#: .././repair/phase6.c:1104 .././repair/phase6.c:1747
+-#, c-format
+-msgid "space reservation failed (%d), filesystem may be out of space\n"
+-msgstr "nie udało się zarezerwować miejsca (%d), może brakować miejsca w systemie plików\n"
++#: .././io/file.c:44 .././io/open.c:99
++msgid "read-write"
++msgstr "odczyt i zapis"
+-#: .././repair/phase6.c:1014 .././repair/phase6.c:1059
+-#: .././repair/phase6.c:1115
+-#, c-format
+-msgid "name create failed in %s (%d), filesystem may be out of space\n"
+-msgstr "tworzenie nazwy nie powiodło się w %s (%d), może brakować miejsca w systemie plików\n"
++#: .././io/file.c:45 .././io/open.c:100
++msgid ",real-time"
++msgstr ",real-time"
+-#: .././repair/phase6.c:1027
+-#, c-format
+-msgid "creation of .. entry failed (%d), filesystem may be out of space\n"
+-msgstr "tworzenie wpisu .. nie powiodło się (%d), może brakować miejsca w systemie plików\n"
++#: .././io/file.c:46 .././io/open.c:101
++msgid ",append-only"
++msgstr ",tylko dopisywanie"
+-#: .././repair/phase6.c:1036
+-#, c-format
+-msgid "bmap finish failed (err - %d), filesystem may be out of space\n"
+-msgstr "zakończenie bmap nie powiodło się (błąd %d), może brakować miejsca w systemie plików\n"
++#: .././io/file.c:47 .././io/open.c:102
++msgid ",non-block"
++msgstr ",nieblokujący"
+-#: .././repair/phase6.c:1078
+-#, c-format
+-msgid "name replace op failed (%d), filesystem may be out of space\n"
+-msgstr "operacja zastąpienia nazwy nie powiodła się (%d), może brakować miejsca w systemie plików\n"
++#: .././io/file.c:48 .././io/open.c:103
++msgid ",tmpfile"
++msgstr ",tmpfile"
+-#: .././repair/phase6.c:1085 .././repair/phase6.c:1125
+-#: .././repair/phase6.c:1770
++#: .././io/file.c:82 .././io/sendfile.c:103 .././quota/path.c:112
+ #, c-format
+-msgid "bmap finish failed (%d), filesystem may be out of space\n"
+-msgstr "zakończenie bmap nie powiodło się (%d), może brakować miejsca w systemie plików\n"
++msgid "value %d is out of range (0-%d)\n"
++msgstr "wartość %d jest spoza zakresu (0-%d)\n"
+-#: .././repair/phase6.c:1163 .././repair/phase6.c:1564
+-msgid "dir"
+-msgstr "katalogu"
++#: .././io/file.c:95 .././quota/path.c:126
++msgid "[N]"
++msgstr "[N]"
+-#: .././repair/phase6.c:1172 .././repair/phase6.c:1176
+-#, c-format
+-msgid "can't map block %d in %s inode %<PRIu64>, xfs_bmapi returns %d, nmap = %d\n"
+-msgstr "nie można odwzorować bloku %d w i-węźle %s %<PRIu64>, xfs_bmapi zwraca %d, nmap = %d\n"
++#: .././io/file.c:100
++msgid "set the current file"
++msgstr "ustawienie bieżącego pliku"
+-#: .././repair/phase6.c:1185 .././repair/phase6.c:1189
+-#: .././repair/phase6.c:1643 .././repair/phase6.c:1647
+-#, c-format
+-msgid "block %d in %s ino %<PRIu64> doesn't exist\n"
+-msgstr "blok %d w i-węźle %s %<PRIu64> nie istnieje\n"
++#: .././io/file.c:109
++msgid "list current open files and memory mappings"
++msgstr "wypisanie aktualnie otwartych plików i odwzorowań w pamięci"
+-#: .././repair/phase6.c:1244 .././repair/phase6.c:1248
++#: .././io/freeze.c:37
+ #, c-format
+-msgid "can't map block %d in %s ino %<PRIu64>, xfs_bmapi returns %d, nmap = %d\n"
+-msgstr "nie można odwzorować bloku %d w i-węźle %s %<PRIu64>, xfs_bmapi zwraca %d, nmap = %d\n"
++msgid "%s: cannot freeze filesystem at %s: %s\n"
++msgstr "%s: nie można zamrozić systemu plików na %s: %s\n"
+-#: .././repair/phase6.c:1256 .././repair/phase6.c:1260
++#: .././io/freeze.c:54
+ #, c-format
+-msgid "block %d in %s inode %<PRIu64> doesn't exist\n"
+-msgstr "blok %d w i-węźle %s %<PRIu64> nie istnieje\n"
++msgid "%s: cannot unfreeze filesystem mounted at %s: %s\n"
++msgstr "%s: nie można odmrozić systemu plików podmontowanego pod %s: %s\n"
+-#: .././repair/phase6.c:1283
+-msgid ", marking entry to be junked\n"
+-msgstr ", zaznaczono wpis do wyrzucenia\n"
++#: .././io/freeze.c:70
++msgid "freeze filesystem of current file"
++msgstr "zamrożenie systemu plików na bieżącym pliku"
+-#: .././repair/phase6.c:1287
+-msgid ", would junk entry\n"
+-msgstr ", wpis zostałby wyrzucony\n"
++#: .././io/freeze.c:77
++msgid "unfreeze filesystem of current file"
++msgstr "odmrożenie systemu plików na bieżącym pliku"
+-#: .././repair/phase6.c:1404
+-#, c-format
+-msgid "entry \"%s\" in dir inode %<PRIu64> points to non-existent inode %<PRIu64>"
+-msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> wskazuje na nie istniejący i-węzęł %<PRIu64>"
++#: .././io/fsync.c:59
++msgid "calls fsync(2) to flush all in-core file state to disk"
++msgstr "wywołanie fsync(2) aby zrzucić cały stan pliku z pamięci na dysk"
+-#: .././repair/phase6.c:1422
+-#, c-format
+-msgid "entry \"%s\" in dir inode %<PRIu64> points to free inode %<PRIu64>"
+-msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> wskazuje na wolny i-węzeł %<PRIu64>"
++#: .././io/fsync.c:66
++msgid "calls fdatasync(2) to flush the files in-core data to disk"
++msgstr "wywołanie fdatasync(2) aby zrzucić dane pliku z pamięci na dysk"
+-#: .././repair/phase6.c:1438 .././repair/phase6.c:2105
+-#: .././repair/phase6.c:2733 .././repair/phase6.c:3063
+-#, c-format
+-msgid "%s (ino %<PRIu64>) in root (%<PRIu64>) is not a directory"
+-msgstr "%s (i-węzeł %<PRIu64>) w katalogu głównym (%<PRIu64>) nie jest katalogiem"
++#: .././io/getrusage.c:118
++msgid "report process resource usage"
++msgstr "informacje o wykorzystaniu zasobów przez proces"
+-#: .././repair/phase6.c:1460 .././repair/phase6.c:2126
+-#: .././repair/phase6.c:2751 .././repair/phase6.c:3081
++#: .././io/imap.c:53
+ #, c-format
+-msgid "entry \"%s\" (ino %<PRIu64>) in dir %<PRIu64> is a duplicate name"
+-msgstr "wpis \"%s\" (i-węzeł %<PRIu64>) w katalogu %<PRIu64> jest powtórzoną nazwą"
++msgid "ino %10llu count %2d mask %016llx\n"
++msgstr "i-węzeł %10llu liczba %2d maska %016llx\n"
+-#: .././repair/phase6.c:1491
+-#, c-format
+-msgid "entry \"%s\" in dir ino %<PRIu64> points to an already connected dir inode %<PRIu64>,\n"
+-msgstr "wpis \"%s\" w katalogu %<PRIu64> wskazuje na już podłączony i-węzeł katalogu %<PRIu64>,\n"
++#: .././io/imap.c:71
++msgid "[nentries]"
++msgstr "[liczba_wpisów]"
+-#: .././repair/phase6.c:1500 .././repair/phase6.c:2226
+-#: .././repair/phase6.c:2785 .././repair/phase6.c:3113
+-#, c-format
+-msgid "entry \"%s\" in dir ino %<PRIu64> doesn't have a .. entry, will set it in ino %<PRIu64>.\n"
+-msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> nie ma wpisu .., zostanie ustawiony w i-węźle %<PRIu64>.\n"
++#: .././io/imap.c:73
++msgid "inode map for filesystem of current file"
++msgstr "map i-węzłów dla systemu plików bieżącego pliku"
+-#: .././repair/phase6.c:1508
++#: .././io/init.c:35
+ #, c-format
+-msgid "entry \"%s\" in dir ino %<PRIu64> not consistent with .. value (%<PRIu64>) in ino %<PRIu64>,\n"
+-msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> niespójny z wartością .. (%<PRIu64>) w i-węźle %<PRIu64>,\n"
++msgid "Usage: %s [-adfmnrRstVx] [-p prog] [-c cmd]... file\n"
++msgstr "Składnia: %s [-adfmnrRstVx] [-p program] [-c polecenie]... plik\n"
+-#: .././repair/phase6.c:1522 .././repair/phase6.c:2249
++#: .././io/init.c:105 .././io/mmap.c:168 .././io/mmap.c:175 .././io/mmap.c:178
++#: .././io/open.c:292
+ #, c-format
+-msgid "\twill clear entry \"%s\"\n"
+-msgstr "\twpis \"%s\" zostanie wyczyszczony\n"
++msgid "no files are open, try 'help open'\n"
++msgstr "nie ma otwartych plików, spróbuj 'help open'\n"
+-#: .././repair/phase6.c:1525 .././repair/phase6.c:2252
++#: .././io/init.c:109 .././io/mmap.c:167 .././io/mmap.c:174
+ #, c-format
+-msgid "\twould clear entry \"%s\"\n"
+-msgstr "\twpis \"%s\" zostałby wyczyszczony\n"
++msgid "no mapped regions, try 'help mmap'\n"
++msgstr "nie ma podmapowanych regionów, spróbuj 'help mmap'\n"
+-#: .././repair/phase6.c:1570
++#: .././io/init.c:115
+ #, c-format
+-msgid "cannot map block 0 of directory inode %<PRIu64>\n"
+-msgstr "nie można odwzorować bloku 0 i-węzła katalogu %<PRIu64>\n"
++msgid "foreign file active, %s command is for XFS filesystems only\n"
++msgstr "aktywny jest plik obcy, polecenie %s jest tylko dla systemów plików XFS\n"
+-#: .././repair/phase6.c:1593
++#: .././io/init.c:160 .././io/open.c:314
+ #, c-format
+-msgid "bad magic # (0x%x) for dir ino %<PRIu64> leaf block (bno %u fsbno %<PRIu64>)\n"
+-msgstr "błędna liczba magiczna (0x%x) dla bloku liścia i-węzła katalogu %<PRIu64> (bno %u fsbno %<PRIu64>)\n"
++msgid "non-numeric mode -- %s\n"
++msgstr "tryb nieliczbowy - %s\n"
+-#: .././repair/phase6.c:1630 .././repair/phase6.c:1634
++#: .././io/inject.c:109
+ #, c-format
+-msgid "can't map leaf block %d in dir %<PRIu64>, xfs_bmapi returns %d, nmap = %d\n"
+-msgstr "nie można odwzorować bloku liścia %d w katalogu %<PRIu64>, xfs_bmapi zwraca %d, nmap = %d\n"
++msgid ""
++"\n"
++" inject errors into the filesystem of the currently open file\n"
++"\n"
++" Example:\n"
++" 'inject readagf' - cause errors on allocation group freespace reads\n"
++"\n"
++" Causes the kernel to generate and react to errors within XFS, provided\n"
++" the XFS kernel code has been built with debugging features enabled.\n"
++" With no arguments, displays the list of error injection tags.\n"
++"\n"
++msgstr ""
++"\n"
++" wprowadzenie błędów do systemu plików aktualnie otwartego pliku\n"
++"\n"
++" Przykład:\n"
++" 'inject readagf' - spowodowanie błędów przy odczytach wolnego miejsca grup\n"
++"                    alokacji\n"
++"\n"
++" inject powoduje, że jądro generuje i reaguje na błędy wewnątrz XFS-a,\n"
++" pod warunkiem, że kod XFS-a w jądrze został zbudowany z włączonymi opcjami\n"
++" diagnostycznymi. Bez argumentów wyświetla listę znaczników wprowadzania\n"
++" błędów.\n"
++"\n"
+-#: .././repair/phase6.c:1686
++#: .././io/inject.c:135
+ #, c-format
+-msgid "rebuilding directory inode %<PRIu64>\n"
+-msgstr "przebudowywanie i-węzła katalogu %<PRIu64>\n"
++msgid "no such tag -- %s\n"
++msgstr "nie ma takiego znacznika - %s\n"
+-#: .././repair/phase6.c:1711
+-#, c-format
+-msgid "xfs_bmap_last_offset failed -- error - %d\n"
+-msgstr "xfs_bmap_last_offset nie powiodło się - błąd %d\n"
++#: .././io/inject.c:156
++msgid "[tag ...]"
++msgstr "[znacznik ...]"
+-#: .././repair/phase6.c:1718
+-#, c-format
+-msgid "xfs_bunmapi failed -- error - %d\n"
+-msgstr "xfs_bunmapi nie powiodło się - błąd %d\n"
++#: .././io/inject.c:157
++msgid "inject errors into a filesystem"
++msgstr "wprowadzanie błędów do systemu plików"
+-#: .././repair/phase6.c:1760
++#: .././io/link.c:35
+ #, c-format
+-msgid "name create failed in ino %<PRIu64> (%d), filesystem may be out of space\n"
+-msgstr "tworzenie nazwy nie powiodło się w i-węźle %<PRIu64> (%d), może brakować miejsca w systemie plików\n"
++msgid ""
++"\n"
++"link the open file descriptor to the supplied filename\n"
++"\n"
++"\n"
++msgstr ""
++"\n"
++"dowiązanie otwartego deskryptora pliku do podanej nazwy pliku\n"
++"\n"
++"\n"
+-#: .././repair/phase6.c:1825
+-#, c-format
+-msgid "shrink_inode failed inode %<PRIu64> block %u\n"
+-msgstr "shrink_inode nie powiodło się dla i-węzła %<PRIu64> bloku %u\n"
++#: .././io/link.c:64
++msgid "filename"
++msgstr "nazwa_pliku"
+-#: .././repair/phase6.c:1906
+-#, c-format
+-msgid "realloc failed in longform_dir2_entry_check_data (%zu bytes)\n"
+-msgstr "realloc nie powiodło się w longform_dir2_entry_check_data (%zu bajtów)\n"
++#: .././io/link.c:66
++msgid "link the open file descriptor to the supplied filename"
++msgstr "dowiązanie otwartego deskryptora pliku do podanej nazwy pliku"
+-#: .././repair/phase6.c:1963
++#: .././io/madvise.c:32
+ #, c-format
+-msgid "empty data block %u in directory inode %<PRIu64>: "
+-msgstr "pusty blok danych %u w i-węźle katalogu %<PRIu64>: "
++msgid ""
++"\n"
++" advise the page cache about access patterns expected for a mapping\n"
++"\n"
++" Modifies page cache behavior when operating on the current mapping.\n"
++" The range arguments are required by some advise commands ([*] below).\n"
++" With no arguments, the POSIX_MADV_NORMAL advice is implied.\n"
++" -d -- don't need these pages (POSIX_MADV_DONTNEED) [*]\n"
++" -r -- expect random page references (POSIX_MADV_RANDOM)\n"
++" -s -- expect sequential page references (POSIX_MADV_SEQUENTIAL)\n"
++" -w -- will need these pages (POSIX_MADV_WILLNEED) [*]\n"
++" Notes:\n"
++"   NORMAL sets the default readahead setting on the file.\n"
++"   RANDOM sets the readahead setting on the file to zero.\n"
++"   SEQUENTIAL sets double the default readahead setting on the file.\n"
++"   WILLNEED forces the maximum readahead.\n"
++"\n"
++msgstr ""
++"\n"
++" doradzenie buforowi stron w sprawie oczekiwanych schematów dostępu do odwzorowań\n"
++"\n"
++" madvise modyfikuje zachowanie bufora stron przy operacjach na bieżącym\n"
++" odwzorowaniu. Niektóre polecenia madvise ([*] poniżej) wymagają podania zakresu.\n"
++" Bez argumentów zakłada się doradzenie POSIX_MADV_NORMAL.\n"
++" -d - podane strony nie są wymagane (POSIX_MADV_DONTNEED) [*]\n"
++" -r - należy oczekiwać losowych odwołań do stron (POSIX_MADV_RANDOM)\n"
++" -s - należy oczekiwać sekwencyjnych odwołań do stron (POSIX_MADV_SEQUENTIAL)\n"
++" -w - podane strony będą potrzebne (POSIX_MADV_WILLNEED) [*]\n"
++" Uwagi:\n"
++"  NORMAL ustawia domyślną wartość czytania z wyprzedzeniem dla pliku.\n"
++"  RANDOM ustawia czytanie z wyprzedzeniem dla pliku na zero.\n"
++"  SEQUENTIAL ustawia podwójną domyślną wartość czytania z wyprzedzeniem.\n"
++"  WILLNEED wymusza maksymalne czytanie z wyprzedzeniem.\n"
++"\n"
+-#: .././repair/phase6.c:1967
++#: .././io/madvise.c:98 .././io/mincore.c:58
+ #, c-format
+-msgid "corrupt block %u in directory inode %<PRIu64>: "
+-msgstr "uszkodzony blok %u w i-węźle katalogu %<PRIu64>: "
++msgid "length argument too large -- %lld\n"
++msgstr "zbyt duży argument będący długością - %lld\n"
+-#: .././repair/phase6.c:1971
+-msgid "junking block\n"
+-msgstr "wyrzucono blok\n"
++#: .././io/madvise.c:127
++msgid "[-drsw] [off len]"
++msgstr "[-drsw] [offset długość]"
+-#: .././repair/phase6.c:1974
+-msgid "would junk block\n"
+-msgstr "blok zostałby wyrzucony\n"
++#: .././io/madvise.c:128
++msgid "give advice about use of memory"
++msgstr "doradzenie w sprawie użycia pamięci"
+-#: .././repair/phase6.c:1998
++#: .././io/mincore.c:92 .././io/mincore.c:102
+ #, c-format
+-msgid "bad directory block magic # %#x for directory inode %<PRIu64> block %d: "
+-msgstr "błędna liczba magiczna bloku katalogu %#x dla i-węzła katalogu %<PRIu64> bloku %d: "
++msgid "0x%lx  %lu pages (%llu : %lu)\n"
++msgstr "0x%lx  %lu stron (%llu : %lu)\n"
+-#: .././repair/phase6.c:2001
+-#, c-format
+-msgid "fixing magic # to %#x\n"
+-msgstr "poprawiono liczbę magiczną na %#x\n"
++#: .././io/mincore.c:122
++msgid "[off len]"
++msgstr "[offset długość]"
+-#: .././repair/phase6.c:2005
+-#, c-format
+-msgid "would fix magic # to %#x\n"
+-msgstr "liczba magiczna zostałaby poprawiona na %#x\n"
++#: .././io/mincore.c:123
++msgid "find mapping pages that are memory resident"
++msgstr "odnalezienie stron odwzorowań przechowywanych w pamięci"
+-#: .././repair/phase6.c:2026
++#: .././io/mmap.c:76
+ #, c-format
+-msgid "directory inode %<PRIu64> block %u has consecutive free entries: "
+-msgstr "i-węzeł katalogu %<PRIu64> blok %u ma kolejne wolne wpisy: "
+-
+-#: .././repair/phase6.c:2029
+-msgid "joining together\n"
+-msgstr "połączono\n"
+-
+-#: .././repair/phase6.c:2038
+-msgid "would join together\n"
+-msgstr "zostałyby połączone\n"
++msgid "offset (%lld) is before start of mapping (%lld)\n"
++msgstr "offset (%lld) przed początkiem odwzorowania (%lld)\n"
+-#: .././repair/phase6.c:2070
++#: .././io/mmap.c:82
+ #, c-format
+-msgid "entry \"%s\" in directory inode %<PRIu64> points to non-existent inode %<PRIu64>"
+-msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> wskazuje na nie istniejący i-węzeł %<PRIu64>"
++msgid "offset (%lld) is beyond end of mapping (%lld)\n"
++msgstr "offset (%lld) za końcem odwzorowania (%lld)\n"
+-#: .././repair/phase6.c:2087
++#: .././io/mmap.c:87
+ #, c-format
+-msgid "entry \"%s\" in directory inode %<PRIu64> points to free inode %<PRIu64>"
+-msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> wskazuje na wolny i-węzeł %<PRIu64>"
++msgid "range (%lld:%lld) is beyond mapping (%lld:%ld)\n"
++msgstr "przedział (%lld:%lld) poza odwzorowaniem (%lld:%ld)\n"
+-#: .././repair/phase6.c:2157
++#: .././io/mmap.c:93
+ #, c-format
+-msgid "entry \"%s\" (ino %<PRIu64>) in dir %<PRIu64> is not in the the first block"
+-msgstr "wpis \"%s\" (i-węzeł %<PRIu64>) w katalogu %<PRIu64> nie jest w pierwszym bloku"
++msgid "offset address (%p) is not page aligned\n"
++msgstr "adres offsetu (%p) nie jest wyrównany do rozmiaru strony\n"
+-#: .././repair/phase6.c:2182
++#: .././io/mmap.c:133
+ #, c-format
+-msgid "entry \"%s\" in dir %<PRIu64> is not the first entry"
+-msgstr "wpis \"%s\" w katalogu %<PRIu64> nie jest pierwszym wpisem"
++msgid ""
++"\n"
++" maps a range within the current file into memory\n"
++"\n"
++" Example:\n"
++" 'mmap -rw 0 1m' - maps one megabyte from the start of the current file\n"
++"\n"
++" Memory maps a range of a file for subsequent use by other xfs_io commands.\n"
++" With no arguments, mmap shows the current mappings.  The current mapping\n"
++" can be set by using the single argument form (mapping number or address).\n"
++" If two arguments are specified (a range), a new mapping is created and the\n"
++" following options are available:\n"
++" -r -- map with PROT_READ protection\n"
++" -w -- map with PROT_WRITE protection\n"
++" -x -- map with PROT_EXEC protection\n"
++" If no protection mode is specified, all are used by default.\n"
++"\n"
++msgstr ""
++"\n"
++" odwzorowanie przedziału z bieżącego pliku w pamięci\n"
++"\n"
++"Przykład:\n"
++" 'mmap -rw 0 1m' - odwzorowuje 1MB od początku bieżącego pliku\n"
++"\n"
++" mmap odwzorowuje w pamięci przedział z pliku do dalszego wykorzystania przez\n"
++" inne polecenia xfs_io.\n"
++" Bez argumentów mmap pokazuje aktualne odwzorowania. Bieżące odwzorowanie\n"
++" można ustawić przy użyciu formy jednoargumentowej (mmap numer lub adres).\n"
++" Jeśli podano dwa argumenty (przedział), tworzone jest nowe odwzorowanie\n"
++" i dostępne są następujące opcje:\n"
++" -r - odwzorowanie z ochroną PROT_READ\n"
++" -w - odwzorowanie z ochroną PROT_WRITE\n"
++" -x - odwzorowanie z ochroną PROT_EXEC\n"
++" Jeśli nie podano trybu ochrony, domyślnie używane są wszystkie.\n"
++"\n"
+-#: .././repair/phase6.c:2217
++#: .././io/mmap.c:254
+ #, c-format
+-msgid "entry \"%s\" in dir %<PRIu64> points to an already connected directory inode %<PRIu64>\n"
+-msgstr "wpis \"%s\" w katalogu %<PRIu64> wskazuje na już podłączony i-węzeł katalogu %<PRIu64>\n"
++msgid ""
++"\n"
++" flushes a range of bytes in the current memory mapping\n"
++"\n"
++" Writes all modified copies of pages over the specified range (or entire\n"
++" mapping if no range specified) to their backing storage locations.  Also,\n"
++" optionally invalidates so that subsequent references to the pages will be\n"
++" obtained from their backing storage locations (instead of cached copies).\n"
++" -a -- perform asynchronous writes (MS_ASYNC)\n"
++" -i -- invalidate mapped pages (MS_INVALIDATE)\n"
++" -s -- perform synchronous writes (MS_SYNC)\n"
++"\n"
++msgstr ""
++"\n"
++" zrzucenie przedziału bajtów w bieżącym odwzorowaniu pamięci\n"
++"\n"
++" msync zapisuje wszystkie zmodyfikowane kopie stron z podanego przedziału\n"
++" (lub całego odwzorowania, jeśli nie podano przedziału) do miejsca\n"
++" przechowywania danych. Opcjonalnie unieważnia bufor, żeby dalsze odwołania\n"
++" do tych stron odbywały się z miejsca przechowywania danych (zamiast kopii\n"
++" w pamięci podręcznej).\n"
++" -a - wykonanie zapisu asynchronicznego (MS_ASYNC)\n"
++" -i - unieważnienie odwzorowanych stron (MS_INVALIDATE)\n"
++" -s - wykonanie zapisu synchronicznego (MS_SYNC)\n"
++"\n"
+-#: .././repair/phase6.c:2236
++#: .././io/mmap.c:330
+ #, c-format
+-msgid "entry \"%s\" in dir inode %<PRIu64> inconsistent with .. value (%<PRIu64>) in ino %<PRIu64>\n"
+-msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> niespójny z wartością .. (%<PRIu64>) w i-węźle %<PRIu64>\n"
++msgid ""
++"\n"
++" reads a range of bytes in the current memory mapping\n"
++"\n"
++" Example:\n"
++" 'mread -v 512 20' - dumps 20 bytes read from 512 bytes into the mapping\n"
++"\n"
++" Accesses a range of the current memory mapping, optionally dumping it to\n"
++" the standard output stream (with -v option) for subsequent inspection.\n"
++" -f -- verbose mode, dump bytes with offsets relative to start of file.\n"
++" -r -- reverse order; start accessing from the end of range, moving backward\n"
++" -v -- verbose mode, dump bytes with offsets relative to start of mapping.\n"
++" The accesses are performed sequentially from the start offset by default.\n"
++" Notes:\n"
++"   References to whole pages following the end of the backing file results\n"
++"   in delivery of the SIGBUS signal.  SIGBUS signals may also be delivered\n"
++"   on various filesystem conditions, including quota exceeded errors, and\n"
++"   for physical device errors (such as unreadable disk blocks).  No attempt\n"
++"   has been made to catch signals at this stage...\n"
++"\n"
++msgstr ""
++"\n"
++" odczytanie przedziału bajtów w bieżącym odwzorowaniu pamięci\n"
++"\n"
++" Przykład:\n"
++" 'mread -v 512 20' - zrzucenie 20 bajtów odczytanych od 512 bajtu\n"
++"                     w odwzorowaniu\n"
++"\n"
++" mread odwołuje się do przedziału bieżącego odwzorowania pamięci, opcjonalnie\n"
++" zrzucając go na strumień standardowego wyjścia (z opcją -v) do dalszych badań.\n"
++" -f - tryb szczegółowy, zrzucenie bajtów z offsetami względem początku pliku.\n"
++" -r - odwrotna kolejność; dostęp począwszy od końca przedziału do początku.\n"
++" -v - tryb szczegółowy, zrzucenie bajtów z offsetami względem początku\n"
++" odwzorowania.\n"
++" Dostępy są wykonywane sekwencyjnie, domyślnie od offsetu początkowego.\n"
++" Uwagi:\n"
++"   Odwołania do całych stron za końcem pliku powodują w efekcie sygnał SIGBUS.\n"
++"   Sygnały SIGBUS mogą być wywołane także przy różnych zdarzeniach związanych\n"
++"   z systemem plików, włącznie z błędami przekroczenia limitów (quota) oraz\n"
++"   fizycznymi błędami urządzenia (takimi jak nieczytelne bloki dysku). Na tym\n"
++"   etapie nie ma prób wyłapania sygnałów...\n"
++"\n"
+-#: .././repair/phase6.c:2307 .././repair/phase6.c:2387
++#: .././io/mmap.c:494
+ #, c-format
+-msgid "leaf block %u for directory inode %<PRIu64> bad header\n"
+-msgstr "błędny nagłówek bloku liścia %u dla i-węzła katalogu %<PRIu64>\n"
++msgid ""
++"\n"
++" dirties a range of bytes in the current memory mapping\n"
++"\n"
++" Example:\n"
++" 'mwrite 512 20 - writes 20 bytes at 512 bytes into the current mapping.\n"
++"\n"
++" Stores a byte into memory for a range within a mapping.\n"
++" The default stored value is 'X', repeated to fill the range specified.\n"
++" -S -- use an alternate seed character\n"
++" -r -- reverse order; start storing from the end of range, moving backward\n"
++" The stores are performed sequentially from the start offset by default.\n"
++"\n"
++msgstr ""
++"\n"
++" zmiana przedziału bajtów w bieżącym odwzorowaniu pamięci\n"
++"\n"
++" Przykład:\n"
++" 'mwrite 512 20' - zapisuje 20 bajtów od 512 bajtu w bieżącym odwzorowaniu.\n"
++"\n"
++" mwrite zapisuje bajt do przedziału pamięci w ramach odwzorowania.\n"
++" Domyślnie zapisywaną wartością jest 'X', powtarzane do wypełnienia przedziału.\n"
++" -S - użycie alternatywnego znaku\n"
++" -r - odwrotna kolejność; rozpoczęcie zapisywania od końca przedziału do\n"
++" początku\n"
++" Zapisy są wykonywane kolejno, domyślnie od offsetu początkowego.\n"
++"\n"
+-#: .././repair/phase6.c:2326
++#: .././io/mmap.c:530 .././io/pread.c:437 .././io/pwrite.c:303
++#: .././io/pwrite.c:330
+ #, c-format
+-msgid "leaf block %u for directory inode %<PRIu64> bad tail\n"
+-msgstr "błędna końcówka bloku liścia %u dla i-węzła katalogu %<PRIu64>\n"
++msgid "non-numeric seed -- %s\n"
++msgstr "nieliczbowy zarodek - %s\n"
+-#: .././repair/phase6.c:2365
+-#, c-format
+-msgid "can't read leaf block %u for directory inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku liścia %u dla i-węzła katalogu %<PRIu64>\n"
++#: .././io/mmap.c:586
++msgid "[N] | [-rwx] [off len]"
++msgstr "[N] | [-rwx] [offset długość]"
+-#: .././repair/phase6.c:2377
+-#, c-format
+-msgid "unknown magic number %#x for block %u in directory inode %<PRIu64>\n"
+-msgstr "nieznana liczba magiczna %#x dla bloku %u w i-węźle katalogu %<PRIu64>\n"
++#: .././io/mmap.c:588
++msgid "mmap a range in the current file, show mappings"
++msgstr "odwzorowanie przedziału w bieżącym pliku, pokazanie odwzorowań"
+-#: .././repair/phase6.c:2411
+-#, c-format
+-msgid "can't read freespace block %u for directory inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku wolnego miejsca %u dla i-węzła katalogu %<PRIu64>\n"
++#: .././io/mmap.c:597
++msgid "[-r] [off len]"
++msgstr "[-r] [offset długość]"
+-#: .././repair/phase6.c:2424
+-#, c-format
+-msgid "free block %u for directory inode %<PRIu64> bad header\n"
+-msgstr "błędny nagłówek wolnego bloku %u dla i-węzła katalogu %<PRIu64>\n"
++#: .././io/mmap.c:599
++msgid "reads data from a region in the current memory mapping"
++msgstr "odczyt danych z regionu w bieżącym odwzorowaniu pamięci"
+-#: .././repair/phase6.c:2436
+-#, c-format
+-msgid "free block %u entry %i for directory ino %<PRIu64> bad\n"
+-msgstr "błędny wpis wolnego bloku %u numer %i dla i-węzła katalogu %<PRIu64>\n"
++#: .././io/mmap.c:608
++msgid "[-ais] [off len]"
++msgstr "[-ais] [offset długość]"
+-#: .././repair/phase6.c:2446
+-#, c-format
+-msgid "free block %u for directory inode %<PRIu64> bad nused\n"
+-msgstr "błędna liczba nused w wolnym bloku %u dla i-węzła katalogu %<PRIu64>\n"
++#: .././io/mmap.c:609
++msgid "flush a region in the current memory mapping"
++msgstr "zrzucenie regionu w bieżącym odwzorowaniu pamięci"
+-#: .././repair/phase6.c:2457
+-#, c-format
+-msgid "missing freetab entry %u for directory inode %<PRIu64>\n"
+-msgstr "brak wpisu freetab %u dla i-węzła katalogu %<PRIu64>\n"
++#: .././io/mmap.c:618
++msgid "unmaps the current memory mapping"
++msgstr "usunięcie bieżącego odwzorowania pamięci"
+-#: .././repair/phase6.c:2497
+-#, c-format
+-msgid "malloc failed in longform_dir2_entry_check (%<PRId64> bytes)\n"
+-msgstr "malloc nie powiodło się w longform_dir2_entry_check (%<PRId64> bajtów)\n"
++#: .././io/mmap.c:626
++msgid "[-r] [-S seed] [off len]"
++msgstr "[-r] [-S wartość] [offset długość]"
+-#: .././repair/phase6.c:2527
+-#, c-format
+-msgid "realloc failed in longform_dir2_entry_check (%zu bytes)\n"
+-msgstr "realloc nie powiodło się w longform_dir2_entry_check (%zu bajtów)\n"
++#: .././io/mmap.c:628
++msgid "writes data into a region in the current memory mapping"
++msgstr "zapis danych do regionu w bieżącym odwzorowaniu pamięci"
+-#: .././repair/phase6.c:2533
+-#, c-format
+-msgid "can't read data block %u for directory inode %<PRIu64>\n"
+-msgstr "nie można odczytać bloku danych %u dla i-węzła katalogu %<PRIu64>\n"
++#: .././io/open.c:68
++msgid "socket"
++msgstr "gniazdo"
+-#: .././repair/phase6.c:2639
+-#, c-format
+-msgid "shortform dir inode %<PRIu64> has null data entries \n"
+-msgstr "i-węzeł krótkiego katalogu %<PRIu64> ma zerowe wpisy danych\n"
++#: .././io/open.c:70
++msgid "directory"
++msgstr "katalog"
+-#: .././repair/phase6.c:2707
+-#, c-format
+-msgid "entry \"%s\" in shortform dir %<PRIu64> references non-existent ino %<PRIu64>\n"
+-msgstr "wpis \"%s\" w krótkim katalogu %<PRIu64> odwołuje się do nie istniejącego i-węzła %<PRIu64>\n"
++#: .././io/open.c:72
++msgid "char device"
++msgstr "urządzenie znakowe"
+-#: .././repair/phase6.c:2720
+-#, c-format
+-msgid "entry \"%s\" in shortform dir inode %<PRIu64> points to free inode %<PRIu64>\n"
+-msgstr "wpis \"%s\" w i-węźle krótkiego katalogu %<PRIu64> wskazuje na wolny i-węzeł %<PRIu64>\n"
++#: .././io/open.c:74
++msgid "block device"
++msgstr "urządzenie blokowe"
+-#: .././repair/phase6.c:2776
+-#, c-format
+-msgid "entry \"%s\" in dir %<PRIu64> references already connected dir ino %<PRIu64>.\n"
+-msgstr "wpis \"%s\" w katalogu %<PRIu64> odwołuje się do już podłączonego i-węzła katalogu %<PRIu64>.\n"
++#: .././io/open.c:76
++msgid "regular file"
++msgstr "plik zwykły"
+-#: .././repair/phase6.c:2793
+-#, c-format
+-msgid "entry \"%s\" in dir %<PRIu64> not consistent with .. value (%<PRIu64>) in dir ino %<PRIu64>.\n"
+-msgstr "wpis \"%s\" w katalogu %<PRIu64> niespójny z wartością .. (%<PRIu64>) w i-węźle katalogu %<PRIu64>.\n"
++#: .././io/open.c:78
++msgid "symbolic link"
++msgstr "dowiązanie symboliczne"
+-#: .././repair/phase6.c:2833 .././repair/phase6.c:3166
+-msgid "junking entry\n"
+-msgstr "wyrzucono wpis\n"
++#: .././io/open.c:80
++msgid "fifo"
++msgstr "potok"
+-#: .././repair/phase6.c:2837 .././repair/phase6.c:3170
+-msgid "would junk entry\n"
+-msgstr "wpis zostałby wyrzucony\n"
++#: .././io/open.c:95 .././io/open.c:707
++#, c-format
++msgid "fd.path = \"%s\"\n"
++msgstr "fd.path = \"%s\"\n"
+-#: .././repair/phase6.c:2876 .././repair/phase6.c:3228
++#: .././io/open.c:96
+ #, c-format
+-msgid "setting size to %<PRId64> bytes to reflect junked entries\n"
+-msgstr "ustawiono rozmiar na %<PRId64>, aby odzwierciedlał wyrzucone wpisy\n"
++msgid "fd.flags = %s,%s,%s%s%s%s%s\n"
++msgstr "fd.flags = %s,%s,%s%s%s%s%s\n"
+-#: .././repair/phase6.c:2928
++#: .././io/open.c:107
+ #, c-format
+-msgid "would set .. in sf dir inode %<PRIu64> to %<PRIu64>\n"
+-msgstr "wpis .. w i-węźle katalogu sf %<PRIu64> zostałby ustawiony na %<PRIu64>\n"
++msgid "stat.ino = %lld\n"
++msgstr "stat.ino = %lld\n"
+-#: .././repair/phase6.c:2932
++#: .././io/open.c:108
+ #, c-format
+-msgid "setting .. in sf dir inode %<PRIu64> to %<PRIu64>\n"
+-msgstr "ustawiono wpis .. w i-węźle katalogu sf %<PRIu64> na %<PRIu64>\n"
++msgid "stat.type = %s\n"
++msgstr "stat.type = %s\n"
+-#: .././repair/phase6.c:3036
++#: .././io/open.c:109
+ #, c-format
+-msgid "entry \"%s\" in shortform directory %<PRIu64> references non-existent inode %<PRIu64>\n"
+-msgstr "wpis \"%s\" w krótkim katalogu %<PRIu64> odwołuje się do nie istniejącego i-węzła %<PRIu64>\n"
++msgid "stat.size = %lld\n"
++msgstr "stat.size = %lld\n"
+-#: .././repair/phase6.c:3050
++#: .././io/open.c:110
+ #, c-format
+-msgid "entry \"%s\" in shortform directory inode %<PRIu64> points to free inode %<PRIu64>\n"
+-msgstr "wpis \"%s\" w i-węźle krótkiego katalogu %<PRIu64> wskazuje na wolny i-węzeł %<PRIu64>\n"
++msgid "stat.blocks = %lld\n"
++msgstr "stat.blocks = %lld\n"
+-#: .././repair/phase6.c:3103
++#: .././io/open.c:112
+ #, c-format
+-msgid "entry \"%s\" in directory inode %<PRIu64> references already connected inode %<PRIu64>.\n"
+-msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> odwołuje się do już podłączonego i-węzła %<PRIu64>.\n"
++msgid "stat.atime = %s"
++msgstr "stat.atime = %s"
+-#: .././repair/phase6.c:3123
++#: .././io/open.c:113
+ #, c-format
+-msgid "entry \"%s\" in directory inode %<PRIu64> not consistent with .. value (%<PRIu64>) in inode %<PRIu64>,\n"
+-msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> niespójny z wartością .. (%<PRIu64>) w i-węźle %<PRIu64>,\n"
++msgid "stat.mtime = %s"
++msgstr "stat.mtime = %s"
+-#: .././repair/phase6.c:3194
++#: .././io/open.c:114
+ #, c-format
+-msgid "would fix i8count in inode %<PRIu64>\n"
+-msgstr "i8count w i-węźle %<PRIu64> zostałoby poprawione\n"
++msgid "stat.ctime = %s"
++msgstr "stat.ctime = %s"
+-#: .././repair/phase6.c:3207
++#: .././io/open.c:123
+ #, c-format
+-msgid "fixing i8count in inode %<PRIu64>\n"
+-msgstr "poprawiono i8count w i-węźle %<PRIu64>\n"
+-
+-#: .././repair/phase6.c:3382
+-msgid "missing root directory .. entry, cannot fix in V1 dir filesystem\n"
+-msgstr "brak wpisu .. w głównym katalogu, nie można naprawić w systemie plików V1\n"
++msgid "fsxattr.xflags = 0x%x "
++msgstr "fsxattr.xflags = 0x%x "
+-#: .././repair/phase6.c:3389
++#: .././io/open.c:125
+ #, c-format
+-msgid "%d bad entries found in dir inode %<PRIu64>, cannot fix in V1 dir filesystem\n"
+-msgstr "znaleziono %d błędnych wpisów w i-węźle katalogu %<PRIu64>, nie można naprawić w systemie plików V1\n"
++msgid "fsxattr.projid = %u\n"
++msgstr "fsxattr.projid = %u\n"
+-#: .././repair/phase6.c:3396
++#: .././io/open.c:126
+ #, c-format
+-msgid "missing \".\" entry in dir ino %<PRIu64>, cannot in fix V1 dir filesystem\n"
+-msgstr "brak wpisu \".\" w i-węźle katalogu %<PRIu64>, nie można naprawić w systemie plików V1\n"
+-
+-#: .././repair/phase6.c:3414
+-msgid "recreating root directory .. entry\n"
+-msgstr "ponowne tworzenie wpisu .. głównego katalogu\n"
++msgid "fsxattr.extsize = %u\n"
++msgstr "fsxattr.extsize = %u\n"
+-#: .././repair/phase6.c:3434
++#: .././io/open.c:127
+ #, c-format
+-msgid "can't make \"..\" entry in root inode %<PRIu64>, createname error %d\n"
+-msgstr "nie można utworzyć wpisu \"..\" w i-węźle głównego katalogu %<PRIu64>, błąd createname %d\n"
+-
+-#: .././repair/phase6.c:3445
+-msgid "would recreate root directory .. entry\n"
+-msgstr "wpis .. głównego katalogu zostałby ponownie utworzony\n"
++msgid "fsxattr.nextents = %u\n"
++msgstr "fsxattr.nextents = %u\n"
+-#: .././repair/phase6.c:3469
++#: .././io/open.c:128
+ #, c-format
+-msgid "would create missing \".\" entry in dir ino %<PRIu64>\n"
+-msgstr "brakujący wpis \".\" w i-węźle katalogu %<PRIu64> zostałby utworzony\n"
++msgid "fsxattr.naextents = %u\n"
++msgstr "fsxattr.naextents = %u\n"
+-#: .././repair/phase6.c:3476
++#: .././io/open.c:133
+ #, c-format
+-msgid "creating missing \".\" entry in dir ino %<PRIu64>\n"
+-msgstr "tworzenie brakującego wpisu \".\" w i-węźle katalogu %<PRIu64>\n"
++msgid "dioattr.mem = 0x%x\n"
++msgstr "dioattr.mem = 0x%x\n"
+-#: .././repair/phase6.c:3500
++#: .././io/open.c:134
+ #, c-format
+-msgid "can't make \".\" entry in dir ino %<PRIu64>, createname error %d\n"
+-msgstr "nie można utworzyć wpisu \".\" w i-węźle katalogu %<PRIu64>, błąd createname %d\n"
++msgid "dioattr.miniosz = %u\n"
++msgstr "dioattr.miniosz = %u\n"
+-#: .././repair/phase6.c:3589
++#: .././io/open.c:135
+ #, c-format
+-msgid "disconnected dir inode %<PRIu64>, "
+-msgstr "odłączony i-węzeł katalogu %<PRIu64>, "
++msgid "dioattr.maxiosz = %u\n"
++msgstr "dioattr.maxiosz = %u\n"
+-#: .././repair/phase6.c:3591
++#: .././io/open.c:254
+ #, c-format
+-msgid "disconnected inode %<PRIu64>, "
+-msgstr "odłączony i-węzeł %<PRIu64>, "
+-
+-#: .././repair/phase6.c:3593
+-msgid "cannot fix in V1 dir filesystem\n"
+-msgstr "nie można naprawić w systemie plików katalogów V1\n"
++msgid ""
++"\n"
++" opens a new file in the requested mode\n"
++"\n"
++" Example:\n"
++" 'open -cd /tmp/data' - creates/opens data file read-write for direct IO\n"
++"\n"
++" Opens a file for subsequent use by all of the other xfs_io commands.\n"
++" With no arguments, open uses the stat command to show the current file.\n"
++" -a -- open with the O_APPEND flag (append-only mode)\n"
++" -d -- open with O_DIRECT (non-buffered IO, note alignment constraints)\n"
++" -f -- open with O_CREAT (create the file if it doesn't exist)\n"
++" -m -- permissions to use in case a new file is created (default 0600)\n"
++" -n -- open with O_NONBLOCK\n"
++" -r -- open with O_RDONLY, the default is O_RDWR\n"
++" -s -- open with O_SYNC\n"
++" -t -- open with O_TRUNC (truncate the file to zero length if it exists)\n"
++" -R -- mark the file as a realtime XFS file immediately after opening it\n"
++" -T -- open with O_TMPFILE (create a file not visible in the namespace)\n"
++" Note1: usually read/write direct IO requests must be blocksize aligned;\n"
++"        some kernels, however, allow sectorsize alignment for direct IO.\n"
++" Note2: the bmap for non-regular files can be obtained provided the file\n"
++"        was opened correctly (in particular, must be opened read-only).\n"
++"\n"
++msgstr ""
++"\n"
++" otwarcie nowego pliku w żądanym trybie\n"
++"\n"
++" Przykład:\n"
++" 'open -cd /tmp/data' - utworzenie/otwarcie pliku danych do odczytu i zapisu\n"
++"                        z bezpośrednim we/wy\n"
++"\n"
++" open otwiera plik do późniejszego wykorzystania przez wszystkie inne polecenia\n"
++" xfs_io.\n"
++" Bez argumentów używa polecenia stat do pokazania bieżącego pliku.\n"
++" -a - otwarcie z flagą O_APPEND (w trybie tylko dopisywania)\n"
++" -d - otwarcie z flagą O_DIRECT (niebuforowane we/wy, ograniczenia wyrównania)\n"
++" -f - otwarcie z flagą O_CREAT (utworzenie pliku jeśli nie istnieje)\n"
++" -m - uprawnienia do użycia w przypadku tworzenia pliku (domyślnie 0600)\n"
++" -n - otwarcie z flagą O_NONBLOCK\n"
++" -r - otwarcie z flagą O_RDONLY (domyślne jest O_RDWR)\n"
++" -s - otwarcie z flagą O_SYNC\n"
++" -t - otwarcie z flagą O_TRUNC (ucięcie do zerowej długości jeśli istnieje)\n"
++" -R - oznaczenie pliku jako realtime na XFS-ie zaraz po otwarciu\n"
++" -T - otwarcie z flagą O_TMPFILE (utworzenie pliku niewidocznego w przestrzni\n"
++"      nazw)\n"
++" Uwaga1: zwykle żądania bezpośredniego we/wy muszą być wyrównane do rozmiaru\n"
++"         bloku; niektóre jądra pozwalają na wyrównanie do rozmiaru sektora\n"
++" Uwaga2: bmap dla plików innych niż zwykłe można uzyskać pod warunkiem, że\n"
++"         plik zostanie poprawnie otwarty (w szczególności tylko do odczytu).\n"
++"\n"
+-#: .././repair/phase6.c:3597
++#: .././io/open.c:346
+ #, c-format
+-msgid "moving to %s\n"
+-msgstr "przeniesiono do %s\n"
++msgid "-T and -r options are incompatible\n"
++msgstr "Opcje -T i -r nie są zgodne ze sobą\n"
+-#: .././repair/phase6.c:3600
++#: .././io/open.c:401
+ #, c-format
+-msgid "would move to %s\n"
+-msgstr "zostałby przeniesiony do %s\n"
++msgid ""
++"\n"
++" displays the project identifier associated with the current path\n"
++"\n"
++" Options:\n"
++" -R -- recursively descend (useful when current path is a directory)\n"
++" -D -- recursively descend, but only list projects on directories\n"
++"\n"
++msgstr ""
++"\n"
++" wyświetlenie identyfikatora projektu związanego z bieżącą ścieżką\n"
++"\n"
++" Opcje:\n"
++" -R - rekurencyjne zagłębianie się (przydatne kiedy bieżący plik jest katalogiem)\n"
++" -D - rekurencyjne zagłębianie się, ale wypisywanie projektów tylko katalogów\n"
++"\n"
+-#: .././repair/phase6.c:3691
+-msgid "Phase 6 - check inode connectivity...\n"
+-msgstr "Faza 6 - sprawdzanie łączności i-węzłów...\n"
++#: .././io/open.c:467
++#, c-format
++msgid "projid = %u\n"
++msgstr "projid = %u\n"
+-#: .././repair/phase6.c:3705
+-msgid "need to reinitialize root directory, but not supported on V1 dir filesystem\n"
+-msgstr "trzeba ponownie utworzyć główny katalog, co nie jest obsługiwane w systemie plików V1\n"
++#: .././io/open.c:475
++#, c-format
++msgid ""
++"\n"
++" modifies the project identifier associated with the current path\n"
++"\n"
++" -R -- recursively descend (useful when current path is a directory)\n"
++" -D -- recursively descend, only modifying projects on directories\n"
++"\n"
++msgstr ""
++"\n"
++" modyfikacja identyfikatora projektu związanego z bieżącą ścieżką\n"
++"\n"
++" -R - rekurencyjne zagłębianie się (przydatne kiedy bieżący plik jest katalogiem)\n"
++" -D - rekurencyjne zagłębianie się, ale zmiana projektów tylko katalogów\n"
++"\n"
+-#: .././repair/phase6.c:3708
+-msgid "reinitializing root directory\n"
+-msgstr "ponowne inicjowanie głównego katalogu\n"
++#: .././io/open.c:534
++#, c-format
++msgid "invalid project ID -- %s\n"
++msgstr "nieprawidłowy ID projektu - %s\n"
+-#: .././repair/phase6.c:3713
+-msgid "would reinitialize root directory\n"
+-msgstr "główny katalog zostałby ponownie zainicjowany\n"
++#: .././io/open.c:550
++#, c-format
++msgid ""
++"\n"
++" report or modify preferred extent size (in bytes) for the current path\n"
++"\n"
++" -R -- recursively descend (useful when current path is a directory)\n"
++" -D -- recursively descend, only modifying extsize on directories\n"
++"\n"
++msgstr ""
++"\n"
++" odczyt lub zmiana preferowanego rozmiaru ekstentu (w bajtach) dla bieżącej\n"
++" ścieżki\n"
++"\n"
++" -R - rekurencyjne zagłębianie się (przydatne kiedy bieżący plik jest katalogiem)\n"
++" -D - rekurencyjne zagłębianie się, ale zmiana extsize tylko katalogów\n"
++"\n"
+-#: .././repair/phase6.c:3719
+-msgid "reinitializing realtime bitmap inode\n"
+-msgstr "ponowne inicjowanie i-węzła bitmapy realtime\n"
++#: .././io/open.c:593
++#, c-format
++msgid "invalid target file type - file %s\n"
++msgstr "nieprawidłowy rodzaj bliku docelowego - plik %s\n"
+-#: .././repair/phase6.c:3723
+-msgid "would reinitialize realtime bitmap inode\n"
+-msgstr "i-węzeł bitmapy realtime zostałby ponownie zainicjowany\n"
++#: .././io/open.c:679
++#, c-format
++msgid "non-numeric extsize argument -- %s\n"
++msgstr "nieliczbowy argument extsize - %s\n"
+-#: .././repair/phase6.c:3729
+-msgid "reinitializing realtime summary inode\n"
+-msgstr "ponowne inicjowanie i-węzła opisu realtime\n"
++#: .././io/open.c:711
++#, c-format
++msgid "statfs.f_bsize = %lld\n"
++msgstr "statfs.f_bsize = %lld\n"
+-#: .././repair/phase6.c:3733
+-msgid "would reinitialize realtime summary inode\n"
+-msgstr "i-węzeł opisu realtime zostałby ponownie zainicjowany\n"
++#: .././io/open.c:712
++#, c-format
++msgid "statfs.f_blocks = %lld\n"
++msgstr "statfs.f_blocks = %lld\n"
+-#: .././repair/phase6.c:3739
+-msgid "        - resetting contents of realtime bitmap and summary inodes\n"
+-msgstr "        - przestawianie zawartości i-węzłów bitmapy i opisu realtime\n"
++#: .././io/open.c:714
++#, c-format
++msgid "statfs.f_frsize = %lld\n"
++msgstr "statfs.f_frsize = %lld\n"
+-#: .././repair/phase6.c:3742 .././repair/phase6.c:3747
+-msgid "Warning:  realtime bitmap may be inconsistent\n"
+-msgstr "Uwaga: bitmapa realtime może być niespójna\n"
++#: .././io/open.c:716
++#, c-format
++msgid "statfs.f_bavail = %lld\n"
++msgstr "statfs.f_bavail = %lld\n"
+-#: .././repair/phase6.c:3753
+-msgid "        - traversing filesystem ...\n"
+-msgstr "        - przechodzenie systemu plików...\n"
++#: .././io/open.c:718
++#, c-format
++msgid "statfs.f_files = %lld\n"
++msgstr "statfs.f_files = %lld\n"
+-#: .././repair/phase6.c:3776
+-msgid "        - traversal finished ...\n"
+-msgstr "        - przechodzenie zakończone...\n"
++#: .././io/open.c:719
++#, c-format
++msgid "statfs.f_ffree = %lld\n"
++msgstr "statfs.f_ffree = %lld\n"
+-#: .././repair/phase6.c:3777
++#: .././io/open.c:726
+ #, c-format
+-msgid "        - moving disconnected inodes to %s ...\n"
+-msgstr "        - przenoszenie odłączonych i-węzłów do %s...\n"
++msgid "geom.bsize = %u\n"
++msgstr "geom.bsize = %u\n"
+-#: .././repair/progress.c:16
+-msgid "inodes"
+-msgstr "i-węzłów"
++#: .././io/open.c:727
++#, c-format
++msgid "geom.agcount = %u\n"
++msgstr "geom.agcount = %u\n"
+-#: .././repair/progress.c:18 .././db/freesp.c:406
+-msgid "blocks"
+-msgstr "bloków"
++#: .././io/open.c:728
++#, c-format
++msgid "geom.agblocks = %u\n"
++msgstr "geom.agblocks = %u\n"
+-#: .././repair/progress.c:20
+-msgid "directories"
+-msgstr "katalogów"
++#: .././io/open.c:729
++#, c-format
++msgid "geom.datablocks = %llu\n"
++msgstr "geom.datablocks = %llu\n"
+-#: .././repair/progress.c:22
+-msgid "allocation groups"
+-msgstr "grup alokacji"
++#: .././io/open.c:731
++#, c-format
++msgid "geom.rtblocks = %llu\n"
++msgstr "geom.rtblocks = %llu\n"
+-#: .././repair/progress.c:24
+-msgid "AGI unlinked buckets"
+-msgstr "odłączonych kubełków AGI"
++#: .././io/open.c:733
++#, c-format
++msgid "geom.rtextents = %llu\n"
++msgstr "geom.rtextents = %llu\n"
+-#: .././repair/progress.c:26 .././db/freesp.c:406
+-msgid "extents"
+-msgstr "ekstentów"
++#: .././io/open.c:735
++#, c-format
++msgid "geom.rtextsize = %u\n"
++msgstr "geom.rtextsize = %u\n"
+-#: .././repair/progress.c:28
+-msgid "realtime extents"
+-msgstr "ekstentów realtime"
++#: .././io/open.c:736
++#, c-format
++msgid "geom.sunit = %u\n"
++msgstr "geom.sunit = %u\n"
+-#: .././repair/progress.c:30
+-msgid "unlinked lists"
+-msgstr "odłączonych list"
++#: .././io/open.c:737
++#, c-format
++msgid "geom.swidth = %u\n"
++msgstr "geom.swidth = %u\n"
+-#: .././repair/progress.c:37
++#: .././io/open.c:742
+ #, c-format
+-msgid "        - %02d:%02d:%02d: %s - %llu of %llu %s done\n"
+-msgstr "        - %02d:%02d:%02d: %s - sprawdzono %llu z %llu %s\n"
++msgid "counts.freedata = %llu\n"
++msgstr "counts.freedata = %llu\n"
+-#: .././repair/progress.c:39
++#: .././io/open.c:744
+ #, c-format
+-msgid "        - %02d:%02d:%02d: %s - %llu %s done\n"
+-msgstr "        - %02d:%02d:%02d: %s - sprawdzono %llu %s\n"
++msgid "counts.freertx = %llu\n"
++msgstr "counts.freertx = %llu\n"
+-#: .././repair/progress.c:51
+-msgid "scanning filesystem freespace"
+-msgstr "przeszukiwanie wolnego miejsca w systemie plików"
++#: .././io/open.c:746
++#, c-format
++msgid "counts.freeino = %llu\n"
++msgstr "counts.freeino = %llu\n"
+-#: .././repair/progress.c:53
+-msgid "scanning agi unlinked lists"
+-msgstr "przeszukiwanie odłączonych list agi"
++#: .././io/open.c:748
++#, c-format
++msgid "counts.allocino = %llu\n"
++msgstr "counts.allocino = %llu\n"
+-#: .././repair/progress.c:55
+-msgid "check uncertain AG inodes"
+-msgstr "sprawdzanie niepewnych i-węzłów AG"
++#: .././io/open.c:763
++msgid "[-acdrstxT] [path]"
++msgstr "[-acdrstxT] [ścieżka]"
+-#: .././repair/progress.c:57
+-msgid "process known inodes and inode discovery"
+-msgstr "przetwarzanie znanych i-węzłów i rozpoznawanie i-węzłów"
++#: .././io/open.c:764
++msgid "open the file specified by path"
++msgstr "otwarcie pliku określonego ścieżką"
+-#: .././repair/progress.c:59
+-msgid "process newly discovered inodes"
+-msgstr "przetwarzanie nowo rozpoznanych i-węzłów"
++#: .././io/open.c:772
++msgid "[-v]"
++msgstr "[-v]"
+-#: .././repair/progress.c:61
+-msgid "setting up duplicate extent list"
+-msgstr "tworzenie listy powtórzonych ekstentów"
++#: .././io/open.c:773
++msgid "statistics on the currently open file"
++msgstr "statystyki dla aktualnie otwartego pliku"
+-#: .././repair/progress.c:63
+-msgid "initialize realtime bitmap"
+-msgstr "inicjowanie bitmapy realtime"
++#: .././io/open.c:781
++msgid "close the current open file"
++msgstr "zamknięcie bieżącego otwartego pliku"
+-#: .././repair/progress.c:65
+-msgid "reset realtime bitmaps"
+-msgstr "ponowne tworzenie bitmapy realtime"
++#: .././io/open.c:787
++msgid "statistics on the filesystem of the currently open file"
++msgstr "statystyki dla systemu plików aktualnie otwartego pliku"
+-#: .././repair/progress.c:67
+-msgid "check for inodes claiming duplicate blocks"
+-msgstr "szukanie i-węzłów odwołujących się do powtórzonych bloków"
++#: .././io/open.c:791
++msgid "[-D | -R] projid"
++msgstr "[-D | -R] projid"
+-#: .././repair/progress.c:69
+-msgid "rebuild AG headers and trees"
+-msgstr "przebudowywanie nagłówków i drzew AG"
++#: .././io/open.c:796
++msgid "change project identifier on the currently open file"
++msgstr "zmiana identyfikatora projektu aktualnie otwartego pliku"
+-#: .././repair/progress.c:71
+-msgid "traversing filesystem"
+-msgstr "przechodzenie systemu plików"
++#: .././io/open.c:801
++msgid "[-D | -R]"
++msgstr "[-D | -R]"
+-#: .././repair/progress.c:73
+-msgid "traversing all unattached subtrees"
+-msgstr "przechodzenie wszystkich odłączonych poddrzew"
++#: .././io/open.c:806
++msgid "list project identifier set on the currently open file"
++msgstr "wypisanie identyfikatora projektu aktualnie otwartego pliku"
+-#: .././repair/progress.c:75
+-msgid "moving disconnected inodes to lost+found"
+-msgstr "przenoszenie odłączonych i-węzłów do lost+found"
++#: .././io/open.c:811
++msgid "[-D | -R] [extsize]"
++msgstr "[-D | -R] [rozmiar_fragmentu]"
+-#: .././repair/progress.c:77
+-msgid "verify and correct link counts"
+-msgstr "sprawdzanie i poprawianie liczby dowiązań"
++#: .././io/open.c:816
++msgid "get/set preferred extent size (in bytes) for the open file"
++msgstr "pobranie/ustawienie preferowanego rozmiaru ekstentu (w bajtach) dla otwartego pliku"
+-#: .././repair/progress.c:79
+-msgid "verify link counts"
+-msgstr "sprawdzanie liczby dowiązań"
++#: .././io/parent.c:49
++#, c-format
++msgid "%s%s"
++msgstr "%s%s"
+-#: .././repair/progress.c:118
+-msgid "cannot malloc pointer to done vector\n"
+-msgstr "nie udało się przydzielić wskaźnika do wektora wykonania\n"
++#: .././io/parent.c:54
++#, c-format
++msgid "inode-path for inode: %llu is incorrect - path \"%s\" non-existent\n"
++msgstr "inode-path dla i-węzła: %llu jest niepoprawna - ścieżka \"%s\" nie istnieje\n"
+-#: .././repair/progress.c:134
+-msgid "unable to create progress report thread\n"
+-msgstr "nie udało się utworzyć wątku raportowania postępu\n"
++#: .././io/parent.c:58
++#, c-format
++msgid "path \"%s\" does not stat for inode: %llu; err = %s\n"
++msgstr "ścieżka \"%s\" nie pozwala na stat dla i-węzła: %llu; błąd = %s\n"
+-#: .././repair/progress.c:173
+-msgid "progress_rpt: cannot malloc progress msg buffer\n"
+-msgstr "progress_rpt: nie udało się przydzielić bufora komunikatów postępu\n"
++#: .././io/parent.c:67
++#, c-format
++msgid "path \"%s\" found\n"
++msgstr "ścieżki \"%s\" nie znaleziono\n"
+-#: .././repair/progress.c:187
+-msgid "progress_rpt: cannot create timer\n"
+-msgstr "progress_rpt: nie można utworzyć zegara\n"
++#: .././io/parent.c:73
++#, c-format
++msgid "inode-path for inode: %llu is incorrect - wrong inode#\n"
++msgstr "inode-path dla i-węzła: %llu jest niepoprawna - niewłaściwy numer i-węzła\n"
+-#: .././repair/progress.c:190
+-msgid "progress_rpt: cannot set timer\n"
+-msgstr "progress_rpt: nie można ustawić zegara\n"
++#: .././io/parent.c:77 .././io/parent.c:107
++#, c-format
++msgid "ino mismatch for path \"%s\" %llu vs %llu\n"
++msgstr "niezgodność i-węzła dla ścieżki \"%s\" %llu vs %llu\n"
+-#: .././repair/progress.c:214
+-msgid "progress_rpt: cannot lock progress mutex\n"
+-msgstr "progress_rpt: nie można zablokować muteksu\n"
++#: .././io/parent.c:85
++#, c-format
++msgid "inode number match: %llu\n"
++msgstr "zgodność numeru i-węzła: %llu\n"
+-#: .././repair/progress.c:251 .././repair/progress.c:354
++#: .././io/parent.c:95
+ #, c-format
+-msgid "%s"
+-msgstr "%s"
++msgid "parent path \"%s\" does not stat: %s\n"
++msgstr "ścieżka nadrzędna \"%s\" nie pozwala na stat: %s\n"
+-#: .././repair/progress.c:259
++#: .././io/parent.c:103
+ #, c-format
+-msgid "\t- %02d:%02d:%02d: Phase %d: elapsed time %s - processed %d %s per minute\n"
+-msgstr "\t- %02d:%02d:%02d: Faza %d: miniony czas %s - przetworzono %d %s na minutę\n"
++msgid "inode-path for inode: %llu is incorrect - wrong parent inode#\n"
++msgstr "inode-path dla i-węzła: %llu jest niepoprawna - niewłaściwy numer i-węzła nadrzędnego\n"
+-#: .././repair/progress.c:264
++#: .././io/parent.c:116
+ #, c-format
+-msgid "\t- %02d:%02d:%02d: Phase %d: %<PRIu64>%% done - estimated remaining time %s\n"
+-msgstr "\t- %02d:%02d:%02d: Faza %d: %<PRIu64>%% zrobione - przewidywany pozostały czas %s\n"
++msgid "parent ino match for %llu\n"
++msgstr "zgodność numeru i-węzła nadrzędnego dla %llu\n"
+-#: .././repair/progress.c:272
+-msgid "progress_rpt: error unlock msg mutex\n"
+-msgstr "progress_rpt: błąd odblokowywania muteksu komunikatów\n"
++#: .././io/parent.c:138
++#, c-format
++msgid "parentpaths failed for ino %llu: %s\n"
++msgstr "parentpaths nie powiodło się dla i-węzła %llu: %s\n"
+-#: .././repair/progress.c:278
+-msgid "cannot delete timer\n"
+-msgstr "nie można usunąć zegara\n"
++#: .././io/parent.c:149
++#, c-format
++msgid "inode-path for inode: %llu is missing\n"
++msgstr "brak inode-path dla i-węzła: %llu\n"
+-#: .././repair/progress.c:292
+-msgid "set_progress_msg: cannot lock progress mutex\n"
+-msgstr "set_progress_msg: nie można zablokować mutekstu postępu\n"
++#: .././io/parent.c:173
++#, c-format
++msgid "can't stat mount point \"%s\": %s\n"
++msgstr "nie można wykonać stat na punkcie montowania \"%s\": %s\n"
+-#: .././repair/progress.c:302
+-msgid "set_progress_msg: cannot unlock progress mutex\n"
+-msgstr "set_progress_msg: nie można odblokować mutekstu postępu\n"
++#: .././io/parent.c:194
++#, c-format
++msgid "failed to get bulkstat information for inode %llu\n"
++msgstr "nie udało się uzyskać informacji bulkstat dla i-węzła %llu\n"
+-#: .././repair/progress.c:322
+-msgid "print_final_rpt: cannot lock progress mutex\n"
+-msgstr "print_final_rpt: nie można zablokować mutekstu postępu\n"
++#: .././io/parent.c:200
++#, c-format
++msgid "failed to get valid bulkstat information for inode %llu\n"
++msgstr "nie udało się uzyskać prawidłowych informacji bulkstat dla i-węzła %llu\n"
+-#: .././repair/progress.c:358
+-msgid "print_final_rpt: cannot unlock progress mutex\n"
+-msgstr "print_final_rpt: nie można odblokować muteksu postępu\n"
++#: .././io/parent.c:212
++#, c-format
++msgid "checking inode %llu\n"
++msgstr "sprawdzanie i-węzła %llu\n"
+-#: .././repair/progress.c:407
++#: .././io/parent.c:227
+ #, c-format
+-msgid "%02d:%02d:%02d"
+-msgstr "%02d:%02d:%02d"
++msgid "syssgi bulkstat failed: %s\n"
++msgstr "syssgi bulkstat nie powiodło się: %s\n"
+-#: .././repair/progress.c:429
++#: .././io/parent.c:249
+ #, c-format
+-msgid "%d week"
+-msgstr "%d tygodni"
++msgid "unable to open \"%s\" for jdm: %s\n"
++msgstr "nie udało się otworzyć \"%s\" dla jdm: %s\n"
+-#: .././repair/progress.c:430 .././repair/progress.c:440
+-#: .././repair/progress.c:456 .././repair/progress.c:474
+-#: .././repair/progress.c:489
+-msgid "s"
+-msgstr " "
++#: .././io/parent.c:259
++#, c-format
++msgid "unable to allocate buffers: %s\n"
++msgstr "nie udało się przydzielić buforów: %s\n"
+-# XXX: ngettext()
+-#: .././repair/progress.c:439
++#: .././io/parent.c:270
+ #, c-format
+-msgid "%d day"
+-msgstr "%d dni"
++msgid "num errors: %d\n"
++msgstr "liczba błędów: %d\n"
+-#: .././repair/progress.c:446 .././repair/progress.c:463
+-#: .././repair/progress.c:481 .././repair/progress.c:491
+-msgid ", "
+-msgstr ", "
++#: .././io/parent.c:272
++#, c-format
++msgid "succeeded checking %llu inodes\n"
++msgstr "udało się sprawdzić %llu i-węzłów\n"
+-#: .././repair/progress.c:455
++#: .././io/parent.c:283
+ #, c-format
+-msgid "%d hour"
+-msgstr "%d godzin"
++msgid "p_ino    = %llu\n"
++msgstr "p_ino    = %llu\n"
+-#: .././repair/progress.c:473
++#: .././io/parent.c:284
+ #, c-format
+-msgid "%d minute"
+-msgstr "%d minut"
++msgid "p_gen    = %u\n"
++msgstr "p_gen    = %u\n"
+-#: .././repair/progress.c:488
++#: .././io/parent.c:285
+ #, c-format
+-msgid "%d second"
+-msgstr "%d sekund"
++msgid "p_reclen = %u\n"
++msgstr "p_reclen = %u\n"
+-#: .././repair/progress.c:509
++#: .././io/parent.c:287
+ #, c-format
+-msgid ""
+-"\n"
+-"        XFS_REPAIR Summary    %s\n"
+-msgstr ""
+-"\n"
+-"        Podsumowanie XFS_REPAIR %s\n"
++msgid "p_name   = \"%s%s\"\n"
++msgstr "p_name   = \"%s%s\"\n"
+-#: .././repair/progress.c:511
+-msgid "Phase\t\tStart\t\tEnd\t\tDuration\n"
+-msgstr "Faza\t\tPoczątek\tKoniec\t\tCzas trwania\n"
++#: .././io/parent.c:289
++#, c-format
++msgid "p_name   = \"%s\"\n"
++msgstr "p_name   = \"%s\"\n"
+-#: .././repair/progress.c:516 .././repair/progress.c:519
++#: .././io/parent.c:311
+ #, c-format
+-msgid "Phase %d:\tSkipped\n"
+-msgstr "Faza %d:\tPominięta\n"
++msgid "%s: failed path_to_fshandle \"%s\": %s\n"
++msgstr "%s: path_to_fshandle nie powiodło się dla \"%s\": %s\n"
+-#: .././repair/progress.c:523
++#: .././io/parent.c:318
+ #, c-format
+-msgid "Phase %d:\t%02d/%02d %02d:%02d:%02d\t%02d/%02d %02d:%02d:%02d\t%s\n"
+-msgstr "Faza %d:\t%02d.%02d %02d:%02d:%02d\t%02d.%02d %02d:%02d:%02d\t%s\n"
++msgid "%s: path_to_handle failed for \"%s\"\n"
++msgstr "%s: path_to_handle nie powiodło się dla \"%s\"\n"
+-#: .././repair/progress.c:529
++#: .././io/parent.c:325
+ #, c-format
+-msgid ""
+-"\n"
+-"Total run time: %s\n"
+-msgstr ""
+-"\n"
+-"Całkowity czas trwania: %s\n"
++msgid "%s: unable to allocate parent buffer: %s\n"
++msgstr "%s: nie udało się przydzielić bufora nadrzędnego: %s\n"
+-#: .././repair/phase2.c:65
++#: .././io/parent.c:346
+ #, c-format
+-msgid "zero_log: cannot find log head/tail (xlog_find_tail=%d), zeroing it anyway\n"
+-msgstr "zero_log: nie znaleziono początku/końca logu (xlog_find_tail=%d), wyzerowano go\n"
++msgid "%s: %s call failed for \"%s\": %s\n"
++msgstr "%s: wywołanie %s nie powiodło się dla \"%s\": %s\n"
+-#: .././repair/phase2.c:71
++#: .././io/parent.c:355
+ #, c-format
+-msgid "zero_log: head block %<PRId64> tail block %<PRId64>\n"
+-msgstr "zero_log: blok początku %<PRId64> blok końca %<PRId64>\n"
++msgid "%s: inode-path is missing\n"
++msgstr "%s: brak inode-path\n"
++
++#: .././io/parent.c:386
++#, c-format
++msgid "file argument, \"%s\", is not in a mounted XFS filesystem\n"
++msgstr "argument plikowy \"%s\" nie jest na podmontowanym systemie plików XFS\n"
+-#: .././repair/phase2.c:77
++#: .././io/parent.c:426
++#, c-format
+ msgid ""
+-"ALERT: The filesystem has valuable metadata changes in a log which is being\n"
+-"destroyed because the -L option was used.\n"
++"\n"
++" list the current file's parents and their filenames\n"
++"\n"
++" -c -- check the current file's file system for parent consistency\n"
++" -p -- list the current file's parents and their full paths\n"
++" -v -- verbose mode\n"
++"\n"
+ msgstr ""
+-"UWAGA: system plików zawiera wartościowe zmiany metadanych w logu, który jest\n"
+-"niszczony, ponieważ użyto opcji -L.\n"
++"\n"
++" wypisanie rodziców bieżącego pliku i ich nazw\n"
++"\n"
++" -c - sprawdzenie systemu plików pod kątem spójności rodziców pliku\n"
++" -p - wypisanie rodziców bieżącego pliku i ich pełnych ścieżek\n"
++" -v - tryb szczegółowy\n"
++"\n"
+-#: .././repair/phase2.c:81
++#: .././io/parent.c:442
++msgid "[-cpv]"
++msgstr "[-cpv]"
++
++#: .././io/parent.c:444
++msgid "print or check parent inodes"
++msgstr "wypisanie lub sprawdzenie i-węzłów nadrzędnych"
++
++#: .././io/pread.c:33
++#, c-format
+ msgid ""
+-"ERROR: The filesystem has valuable metadata changes in a log which needs to\n"
+-"be replayed.  Mount the filesystem to replay the log, and unmount it before\n"
+-"re-running xfs_repair.  If you are unable to mount the filesystem, then use\n"
+-"the -L option to destroy the log and attempt a repair.\n"
+-"Note that destroying the log may cause corruption -- please attempt a mount\n"
+-"of the filesystem before doing this.\n"
++"\n"
++" reads a range of bytes in a specified block size from the given offset\n"
++"\n"
++" Example:\n"
++" 'pread -v 512 20' - dumps 20 bytes read from 512 bytes into the file\n"
++"\n"
++" Reads a segment of the currently open file, optionally dumping it to the\n"
++" standard output stream (with -v option) for subsequent inspection.\n"
++" The reads are performed in sequential blocks starting at offset, with the\n"
++" blocksize tunable using the -b option (default blocksize is 4096 bytes),\n"
++" unless a different pattern is requested.\n"
++" -B   -- read backwards through the range from offset (backwards N bytes)\n"
++" -F   -- read forwards through the range of bytes from offset (default)\n"
++" -v   -- be verbose, dump out buffers (used when reading forwards)\n"
++" -R   -- read at random offsets in the range of bytes\n"
++" -Z N -- zeed the random number generator (used when reading randomly)\n"
++"         (heh, zorry, the -s/-S arguments were already in use in pwrite)\n"
++" -V N -- use vectored IO with N iovecs of blocksize each (preadv)\n"
++"\n"
++" When in \"random\" mode, the number of read operations will equal the\n"
++" number required to do a complete forward/backward scan of the range.\n"
++" Note that the offset within the range is chosen at random each time\n"
++" (an offset may be read more than once when operating in this mode).\n"
++"\n"
+ msgstr ""
+-"BŁĄD: system plików zawiera wartościowe zmiany metadanych w logu, który\n"
+-"musi być odtworzony. Należy podmontować system plików, aby odtworzyć log,\n"
+-"a następnie odmontować go przed ponownym uruchomieniem xfs_repair. Jeśli\n"
+-"systemu plików nie da się podmontować, można użyć opcji -L, aby zniszczyć\n"
+-"log i spróbować naprawić system plików.\n"
+-"Należy zauważyć, że zniszczenie logu może spowodować uszkodzenia danych -\n"
+-"proszę najpierw spróbować podmontować system plików.\n"
++"\n"
++" odczytanie przedziału bajtów w podanym rozmiarze bloku od podanego offsetu\n"
++"\n"
++" Przykład:\n"
++" 'pread -v 512 20' - zrzucenie 20 bajtów odczytanych od 512 bajtu w pliku\n"
++"\n"
++" pread odczytuje segment aktualnie otwartego pliku, opcjonalnie zrzucając\n"
++" zawartość na strumień standardowego wyjścia (z opcją -v) dla dalszych badań.\n"
++" Odczyty są wykonywane sekwencyjnie blokami począwszy od offsetu z rozmiarem\n"
++" bloku ustawianym przy użyciu opcji -b (domyślny rozmiar bloku to 4096 bajtów),\n"
++" chyba że zażądano innego schematu.\n"
++" -B   - odczyt przedziału od tyłu począwszy od offsetu (N bajtów do tyłu)\n"
++" -F   - odczyt przedziału od przodu począwszy od offsetu (domyślny)\n"
++" -v   - tryb szczegółowy, zrzucenie bufora (przy odczycie od przodu)\n"
++" -R   - odczyt losowych offsetów z przedziału bajtów\n"
++" -Z N - (\"zeed\") nakarmienie generatora liczb losowych (przy odczycie losowym)\n"
++"        (nieztety opcje -s/-S pasujące do \"seed\" były już zajęte w pwrite)\n"
++" -V N - użycie wektorowego we/wy z N iovec, każdym o rozmiarze blocksize\n"
++"        (preadv)\n"
++"\n"
++" W przypadku trybu losowego liczba operacji odczytu będzie równa liczbie\n"
++" potrzebnej do pełnego przeskanowania od przodu lub od tyłu całego przedziału.\n"
++" Należy zauważyć, że offset w przedziale jest wybierany za każdym razem losowo\n"
++" (dowolny offset może być w tym trybie czytany więcej niż raz).\n"
++"\n"
+-#: .././repair/phase2.c:123
+-msgid "This filesystem has an external log.  Specify log device with the -l option.\n"
+-msgstr "Ten system plików ma zewnętrzny log. Należy podać urządzenie logu przy użyciu opcji -l.\n"
++#: .././io/pread.c:398 .././io/pwrite.c:269
++#, c-format
++msgid "non-numeric bsize -- %s\n"
++msgstr "nieliczbowy rozmiar bloku - %s\n"
+-#: .././repair/phase2.c:126
++#: .././io/pread.c:428 .././io/pwrite.c:316
+ #, c-format
+-msgid "Phase 2 - using external log on %s\n"
+-msgstr "Faza 2 - użycie zewnętrznego logu na %s\n"
++msgid "non-numeric vector count == %s\n"
++msgstr "nieliczbowa liczba wektorów - %s\n"
+-#: .././repair/phase2.c:128
+-msgid "Phase 2 - using internal log\n"
+-msgstr "Faza 2 - użycie wewnętrznego logu\n"
++#: .././io/pread.c:497
++#, c-format
++msgid "read %lld/%lld bytes at offset %lld\n"
++msgstr "odczytano %lld/%lld bajtów od offsetu %lld\n"
+-#: .././repair/phase2.c:132
+-msgid "        - zero log...\n"
+-msgstr "        - zerowanie logu...\n"
++#: .././io/pread.c:499 .././io/pwrite.c:396 .././io/sendfile.c:163
++#, c-format
++msgid "%s, %d ops; %s (%s/sec and %.4f ops/sec)\n"
++msgstr "%s, %d operacji; %s (%s/sek i %.4f operacji/sek)\n"
+-#: .././repair/phase2.c:136
+-msgid "        - scan filesystem freespace and inode maps...\n"
+-msgstr "        - przeszukiwanie wolnego miejsca i map i-węzłów w systemie plików...\n"
++#: .././io/pread.c:518
++msgid "[-b bs] [-v] [-i N] [-FBR [-Z N]] off len"
++msgstr "[-b rozm_bloku] [-v] [-i N] [-FBR [-Z N]] offset długość"
+-#: .././repair/phase2.c:152
+-msgid "root inode chunk not found\n"
+-msgstr "nie znaleziono danych głównego i-węzła\n"
++#: .././io/pread.c:519
++msgid "reads a number of bytes at a specified offset"
++msgstr "odczyt podanej liczby bajtów od podanego offsetu"
+-#: .././repair/phase2.c:171
+-msgid "        - found root inode chunk\n"
+-msgstr "        - znaleziono dane głównego i-węzła\n"
++#: .././io/prealloc.c:273 .././io/prealloc.c:281 .././io/prealloc.c:289
++#: .././io/prealloc.c:297 .././io/prealloc.c:307 .././io/prealloc.c:333
++#: .././io/prealloc.c:343
++msgid "off len"
++msgstr "offset długość"
+-#: .././repair/phase2.c:177
+-msgid "root inode marked free, "
+-msgstr "główny i-węzeł oznaczony jako wolny, "
++#: .././io/prealloc.c:274
++msgid "allocates zeroed space for part of a file"
++msgstr "przydzielenie wyzerowanej przestrzeni dla części pliku"
+-#: .././repair/phase2.c:186
+-msgid "realtime bitmap inode marked free, "
+-msgstr "i-węzeł bitmapy realtime oznaczony jako wolny, "
++#: .././io/prealloc.c:282
++msgid "frees space associated with part of a file"
++msgstr "zwolnienie miejsca związanego z częścią pliku"
+-#: .././repair/phase2.c:195
+-msgid "realtime summary inode marked free, "
+-msgstr "i-węzeł opisu realtime oznaczony jako wolny, "
++#: .././io/prealloc.c:291
++msgid "reserves space associated with part of a file"
++msgstr "zarezerwowanie miejsca związanego z częścią pliku"
+-#: .././repair/rt.c:47
+-msgid "couldn't allocate memory for incore realtime bitmap.\n"
+-msgstr "nie udało się przydzielić pamięci dla bitmapy realtime.\n"
++#: .././io/prealloc.c:300
++msgid "frees reserved space associated with part of a file"
++msgstr "zwolnienie zarezerwowanego miejsca związanego z częścią pliku"
+-#: .././repair/rt.c:51
+-msgid "couldn't allocate memory for incore realtime summary info.\n"
+-msgstr "nie udało się przydzielić pamięci dla opisu realtime.\n"
++#: .././io/prealloc.c:309
++msgid "Converts the given range of a file to allocated zeros"
++msgstr "Zamiana podanego przedziału pliku na przydzielone zera"
+-#: .././repair/rt.c:151 .././db/check.c:1568
+-#, c-format
+-msgid "rt summary mismatch, size %d block %llu, file: %d, computed: %d\n"
+-msgstr "opis rt nie zgadza się, rozmiar %d bloku %llu, plik: %d, obliczono: %d\n"
++#: .././io/prealloc.c:323
++msgid "[-c] [-k] [-p] off len"
++msgstr "[-c] [-k] [-p] offset długość"
+-#: .././repair/rt.c:203
+-#, c-format
+-msgid "can't find block %d for rtbitmap inode\n"
+-msgstr "nie można odnaleźć bloku %d dla i-węzła bitmapy realtime\n"
++#: .././io/prealloc.c:325
++msgid "allocates space associated with part of a file via fallocate"
++msgstr "przydzielenie miejsca powiązanego z częścią pliku przez fallocate"
+-#: .././repair/rt.c:211
+-#, c-format
+-msgid "can't read block %d for rtbitmap inode\n"
+-msgstr "nie można odczytać bloku %d dla i-węzła bitmapy realtime\n"
++#: .././io/prealloc.c:335
++msgid "de-allocates space assocated with part of a file via fallocate"
++msgstr "zwolnienie miejsca powiązanego z częścią pliku przez fallocate"
+-#: .././repair/rt.c:265
+-#, c-format
+-msgid "block %d for rtsummary inode is missing\n"
+-msgstr "brak bloku %d dla i-węzła opisu realtime\n"
++#: .././io/prealloc.c:345
++msgid "de-allocates space and eliminates the hole by shifting extents"
++msgstr "zwolnienie miejsca i usunięcie dziury poprzez przesunięcie ekstentów"
+-#: .././repair/rt.c:273
+-#, c-format
+-msgid "can't read block %d for rtsummary inode\n"
+-msgstr "nie można odczytać bloku %d dla i-węzła opisu realtime\n"
++#: .././io/prealloc.c:353
++msgid "[-k] off len"
++msgstr "[-k] offset długość"
+-#: .././quota/free.c:29
++#: .././io/prealloc.c:355
++msgid "zeroes space and eliminates holes by preallocating"
++msgstr "wyzerowanie miejsca i usunięcie dziur poprzez prealokację"
++
++#: .././io/pwrite.c:32
+ #, c-format
+ msgid ""
+ "\n"
+-" reports the number of free disk blocks and inodes\n"
++" writes a range of bytes (in block size increments) from the given offset\n"
+ "\n"
+-" This command reports the number of total, used, and available disk blocks.\n"
+-" It can optionally report the same set of numbers for inodes and realtime\n"
+-" disk blocks, and will report on all known XFS filesystem mount points and\n"
+-" project quota paths by default (see 'print' command for a list).\n"
+-" -b -- report the block count values\n"
+-" -i -- report the inode count values\n"
+-" -r -- report the realtime block count values\n"
+-" -h -- report in a human-readable format\n"
+-" -N -- suppress the header from the output\n"
++" Example:\n"
++" 'pwrite 512 20' - writes 20 bytes at 512 bytes into the open file\n"
++"\n"
++" Writes into a segment of the currently open file, using either a buffer\n"
++" filled with a set pattern (0xcdcdcdcd) or data read from an input file.\n"
++" The writes are performed in sequential blocks starting at offset, with the\n"
++" blocksize tunable using the -b option (default blocksize is 4096 bytes),\n"
++" unless a different write pattern is requested.\n"
++" -S   -- use an alternate seed number for filling the write buffer\n"
++" -i   -- input file, source of data to write (used when writing forward)\n"
++" -d   -- open the input file for direct IO\n"
++" -s   -- skip a number of bytes at the start of the input file\n"
++" -w   -- call fdatasync(2) at the end (included in timing results)\n"
++" -W   -- call fsync(2) at the end (included in timing results)\n"
++" -B   -- write backwards through the range from offset (backwards N bytes)\n"
++" -F   -- write forwards through the range of bytes from offset (default)\n"
++" -R   -- write at random offsets in the specified range of bytes\n"
++" -Z N -- zeed the random number generator (used when writing randomly)\n"
++"         (heh, zorry, the -s/-S arguments were already in use in pwrite)\n"
++" -V N -- use vectored IO with N iovecs of blocksize each (pwritev)\n"
+ "\n"
+ msgstr ""
+ "\n"
+-" informacje o liczbie wolnych bloków i i-węzłów dysku\n"
++" zapisanie przedziału bajtów w podanym rozmiarze bloku od podanego offsetu\n"
+ "\n"
+-" To polecenie informuje o liczbie wszystkich, używanych i dostępnych bloków\n"
+-" dysku. Opcjonalnie informuje o tym samym zestawie liczb dla i-węzłów i bloków\n"
+-" realtime oraz domyślnie zgłasza wszystkie znane punkty montowania systemu\n"
+-" plików XFS i ścieżki quot projektów (patrz lista w poleceniu 'print').\n"
+-" -b - informacje o liczbach bloków\n"
+-" -i - informacje o liczbach i-węzłów\n"
+-" -r - informacje o liczbach bloków realtime\n"
+-" -h - informacje w postaci czytelnej dla człowieka\n"
+-" -N - pominięcie nagłówka z wyjścia\n"
++" Przykład:\n"
++" 'pwrite 512 20' - zapisanie 20 bajtów odczytanych od 512 bajtu w pliku\n"
++"\n"
++" pwrite zapisuje segment aktualnie otwartego pliku, używając bufora wypełnionego\n"
++" ustawionym wzorcem (0xcdcdcdcd) lub danymi odczytanymi z pliku wejściowego.\n"
++" Zapisy są wykonywane sekwencyjnie blokami począwszy od offsetu z rozmiarem\n"
++" bloku ustawianym przy użyciu opcji -b (domyślny rozmiar bloku to 4096 bajtów),\n"
++" chyba że zażądano innego schematu.\n"
++" -S   - użycie innej liczby do wypełnienia bufora zapisu\n"
++" -i   - plik wejściowy, źródło danych do zapisania (przy pisaniu od przodu)\n"
++" -d   - otwarcie pliku wejściowego dla bezpośredniego we/wy\n"
++" -s   - pominięcie podanej liczby bajtów od początku pliku wejściowego\n"
++" -w   - wywołanie fdatasync(2) na końcu (wliczane w wyniki czasowe)\n"
++" -W   - wywołanie fsync(2) na końcu (wliczane w wyniki czasowe)\n"
++" -B   - zapis przedziału od tyłu począwszy od offsetu (N bajtów do tyłu)\n"
++" -F   - zapis przedziału od przodu począwszy od offsetu (domyślny)\n"
++" -R   - zapis losowych offsetów z przedziału bajtów\n"
++" -Z N - (\"zeed\") nakarmienie generatora liczb losowych (przy zapisie losowym)\n"
++"        (niestety opcje -s/-S pasujące do \"seed\" były już zajęte w pwrite)\n"
++" -V N - użycie wektorowego we/wy z N iovec, każdym o rozmiarze blocksize\n"
++"        (pwritev)\n"
+ "\n"
+-#: .././quota/free.c:154
++#: .././io/pwrite.c:296
+ #, c-format
+-msgid "%s: project quota flag not set on %s\n"
+-msgstr "%s: flaga quot projektu nie ustawiona dla %s\n"
++msgid "non-numeric skip -- %s\n"
++msgstr "nieliczbowy liczba bajtów do pominięcia - %s\n"
+-#: .././quota/free.c:163
++#: .././io/pwrite.c:394
+ #, c-format
+-msgid "%s: project ID %u (%s) doesn't match ID %u (%s)\n"
+-msgstr "%s: ID projektu %u (%s) nie zgadza się z ID %u (%s)\n"
++msgid "wrote %lld/%lld bytes at offset %lld\n"
++msgstr "zapisano %lld/%lld bajtów od offsetu %lld\n"
+-#: .././quota/free.c:230
+-#, c-format
+-msgid "Filesystem  "
+-msgstr "System plików "
++#: .././io/pwrite.c:419
++msgid "[-i infile [-d] [-s skip]] [-b bs] [-S seed] [-wW] [-FBR [-Z N]] [-V N] off len"
++msgstr "[-i plik_wej [-d] [-s do_pominięcia]] [-b rozm_bloku] [-S zarodek] [-wW] [-FBR [-Z N]] [-V N] offset długość"
+-#: .././quota/free.c:230
+-#, c-format
+-msgid "Filesystem          "
+-msgstr "System plików       "
++#: .././io/pwrite.c:421
++msgid "writes a number of bytes at a specified offset"
++msgstr "zapis podanej liczby bajtów od podanego offsetu"
+-#: .././quota/free.c:233
++#: .././io/readdir.c:182
+ #, c-format
+-msgid "   Size   Used  Avail Use%%"
+-msgstr " Rozmiar  Użyto Dost. %%uż."
++msgid "read %llu bytes from offset %lld\n"
++msgstr "odczytano %llu bajtów z offsetu %lld\n"
+-#: .././quota/free.c:234
++#: .././io/readdir.c:183
+ #, c-format
+-msgid " 1K-blocks       Used  Available  Use%%"
+-msgstr " Bloki 1K        Użyto Dostępnych %%uż."
++msgid "%s, %d ops, %s (%s/sec and %.4f ops/sec)\n"
++msgstr "%s, %d operacji; %s (%s/sek i %.4f operacji/sek)\n"
+-#: .././quota/free.c:237
+-#, c-format
+-msgid " Inodes   Used   Free Use%%"
+-msgstr " I-węzły  Użyto Wolne %%uż."
++#: .././io/readdir.c:196
++msgid "[-v][-o offset][-l length]"
++msgstr "[-v][-o offset][-l długość]"
+-#: .././quota/free.c:238
+-#, c-format
+-msgid "    Inodes      IUsed      IFree IUse%%"
+-msgstr "   I-węzły      UżytoI     WolneI %%użI"
++#: .././io/readdir.c:197
++msgid "read directory entries"
++msgstr "odczyt wpisów katalogu"
+-#: .././quota/free.c:239
++#: .././io/resblks.c:39
+ #, c-format
+-msgid " Pathname\n"
+-msgstr " Ścieżka\n"
+-
+-#: .././quota/free.c:371
+-msgid "[-bir] [-hn] [-f file]"
+-msgstr "[-bir] [hn] [-f plik]"
+-
+-#: .././quota/free.c:372
+-msgid "show free and used counts for blocks and inodes"
+-msgstr "pokazanie liczby wolnych i zajętych bloków i i-węzłów"
+-
+-#: .././quota/init.c:48
+-#, c-format
+-msgid "Usage: %s [-p prog] [-c cmd]... [-d project]... [path]\n"
+-msgstr "Składnia: %s [-p program] [-c polecenie]... [-d projekt]... [ścieżka]\n"
+-
+-#: .././quota/path.c:39
+-#, c-format
+-msgid "%sFilesystem          Pathname\n"
+-msgstr "%sSystem plików       Ścieżka\n"
+-
+-#: .././quota/path.c:40
+-msgid "      "
+-msgstr "      "
+-
+-#: .././quota/path.c:43
+-#, c-format
+-msgid "%c%03d%c "
+-msgstr "%c%03d%c "
+-
+-#: .././quota/path.c:45
+-#, c-format
+-msgid "%-19s %s"
+-msgstr "%-19s %s"
+-
+-#: .././quota/path.c:48
+-#, c-format
+-msgid " (project %u"
+-msgstr " (projekt %u"
+-
+-#: .././quota/path.c:50
+-#, c-format
+-msgid ", %s"
+-msgstr ", %s"
++msgid "non-numeric argument -- %s\n"
++msgstr "nieliczbowy argument - %s\n"
+-#: .././quota/path.c:103
++#: .././io/resblks.c:51
+ #, c-format
+-msgid "No paths are available\n"
+-msgstr "Brak ścieżek\n"
++msgid "reserved blocks = %llu\n"
++msgstr "zarezerwowane bloki = %llu\n"
+-#: .././quota/path.c:112 .././io/sendfile.c:103 .././io/file.c:81
++#: .././io/resblks.c:53
+ #, c-format
+-msgid "value %d is out of range (0-%d)\n"
+-msgstr "wartość %d jest spoza zakresu (0-%d)\n"
+-
+-#: .././quota/path.c:126 .././io/file.c:94
+-msgid "[N]"
+-msgstr "[N]"
++msgid "available reserved blocks = %llu\n"
++msgstr "dostępne zarezerwowane bloki = %llu\n"
+-#: .././quota/path.c:131
+-msgid "set current path, or show the list of paths"
+-msgstr "ustawienie bieżącej ścieżki lub pokazanie listy ścieżek"
++#: .././io/resblks.c:66
++msgid "[blocks]"
++msgstr "[bloki]"
+-#: .././quota/path.c:139
+-msgid "list known mount points and projects"
+-msgstr "wypisanie znanych punktów montowań i projektów"
++#: .././io/resblks.c:68
++msgid "get and/or set count of reserved filesystem blocks"
++msgstr "pobranie i/lub ustawienie liczby zarezerwowanych bloków w systemie plików"
+-#: .././quota/project.c:45
++#: .././io/seek.c:33
+ #, c-format
+ msgid ""
+ "\n"
+-" list projects or setup a project tree for tree quota management\n"
++" returns the next hole and/or data offset at or after the requested offset\n"
+ "\n"
+ " Example:\n"
+-" 'project -c logfiles'\n"
+-" (match project 'logfiles' to a directory, and setup the directory tree)\n"
++" 'seek -d 512'\t\t- offset of data at or following offset 512\n"
++" 'seek -a -r 0'\t- offsets of all data and hole in entire file\n"
+ "\n"
+-" Without arguments, report all projects found in the /etc/projects file.\n"
+-" The project quota mechanism in XFS can be used to implement a form of\n"
+-" directory tree quota, where a specified directory and all of the files\n"
+-" and subdirectories below it (i.e. a tree) can be restricted to using a\n"
+-" subset of the available space in the filesystem.\n"
++" Returns the offset of the next data and/or hole. There is an implied hole\n"
++" at the end of file. If the specified offset is past end of file, or there\n"
++" is no data past the specified offset, EOF is returned.\n"
++" -a\t-- return the next data and hole starting at the specified offset.\n"
++" -d\t-- return the next data starting at the specified offset.\n"
++" -h\t-- return the next hole starting at the specified offset.\n"
++" -r\t-- return all remaining type(s) starting at the specified offset.\n"
++" -s\t-- also print the starting offset.\n"
+ "\n"
+-" A managed tree must be setup initially using the -c option with a project.\n"
+-" The specified project name or identifier is matched to one or more trees\n"
+-" defined in /etc/projects, and these trees are then recursively descended\n"
+-" to mark the affected inodes as being part of that tree - which sets inode\n"
+-" flags and the project identifier on every file.\n"
+-" Once this has been done, new files created in the tree will automatically\n"
+-" be accounted to the tree based on their project identifier.  An attempt to\n"
+-" create a hard link to a file in the tree will only succeed if the project\n"
+-" identifier matches the project identifier for the tree.  The xfs_io utility\n"
+-" can be used to set the project ID for an arbitrary file, but this can only\n"
+-" be done by a privileged user.\n"
++msgstr ""
+ "\n"
+-" A previously setup tree can be cleared from project quota control through\n"
+-" use of the -C option, which will recursively descend the tree, clearing\n"
+-" the affected inodes from project quota control.\n"
++" zwrócenie offsetu następnej dziury i/lub danych pod lub za żądanym offsetem\n"
+ "\n"
+-" The -c option can be used to check whether a tree is setup, it reports\n"
+-" nothing if the tree is correct, otherwise it reports the paths of inodes\n"
+-" which do not have the project ID of the rest of the tree, or if the inode\n"
+-" flag is not set.\n"
++" Przykłady:\n"
++" 'seek -d 512'  - offset danych pod lub za offsetem 512\n"
++" 'seek -a -r 0' - offsety wszystkich danych i dziur w całym pliku\n"
+ "\n"
+-" The -p <path> option can be used to manually specify project path without\n"
+-" need to create /etc/projects file. This option can be used multiple times\n"
+-" to specify multiple paths. When using this option only one projid/name can\n"
+-" be specified at command line. Note that /etc/projects is also used if exists.\n"
++" seek zwraca offset następnych danych i/lub dziury. Istnieje domyślna dziura\n"
++" na końcu pliku. Jeśli podany offset jest za końcem pliku lub nie ma danych\n"
++" za podanym offsetem, zwracany jest EOF.\n"
++" -a\t- następne dane i dziura od podanego offsetu\n"
++" -d\t- następne dane począwszy od podanego offsetu\n"
++" -h\t- następna dziura począwszy od podanego offsetu\n"
++" -r\t- wszystkie pozostałe typy fragmentów od podanego offsetu\n"
++" -s\t- wypisane także offsetu początkowego\n"
+ "\n"
+-" The -d <depth> option allows to descend at most <depth> levels of directories\n"
+-" below the command line arguments. -d 0 means only apply the actions\n"
+-" to the top level of the projects. -d -1 means no recursion limit (default).\n"
++
++#: .././io/seek.c:219
++msgid "-a | -d | -h [-r] off"
++msgstr "-a | -d | -h [-r] offset"
++
++#: .././io/seek.c:220
++msgid "locate the next data and/or hole"
++msgstr "odnalezienie następnych danych i/lub dziury"
++
++#: .././io/sendfile.c:32
++#, c-format
++msgid ""
+ "\n"
+-" The /etc/projid and /etc/projects file formats are simple, and described\n"
+-" on the xfs_quota man page.\n"
++" transfer a range of bytes from the given offset between files\n"
++"\n"
++" Example:\n"
++" 'send -f 2 512 20' - writes 20 bytes at 512 bytes into the open file\n"
++"\n"
++" Copies data between one file descriptor and another.  Because this copying\n"
++" is done within the kernel, sendfile does not need to transfer data to and\n"
++" from user space.\n"
++" -f -- specifies an input file from which to source data to write\n"
++" -i -- specifies an input file name from which to source data to write.\n"
++" An offset and length in the source file can be optionally specified.\n"
+ "\n"
+ msgstr ""
+ "\n"
+-" wypisanie projektów lub ustanowienie drzewa projektu do zarządzania limitami\n"
++" przesłanie między plikami przedziału bajtów od podanego offsetu\n"
+ "\n"
+ " Przykład:\n"
+-" 'project -c logfiles'\n"
+-" (dopasowanie projektu 'logfiles' do katalogu i ustanowienie drzewa katalogów)\n"
++" 'send -f 2 512 20' - zapisanie 20 bajtów od 512 bajtu do otwartego pliku\n"
+ "\n"
+-" Bez argumentów project wypisuje wszystkie projekty znalezione w pliku\n"
+-" /etc/projects. Mechanizm quota dla projektów w XFS-ie może być używany do\n"
+-" zaimplementowania formy limitów dla drzewa katalogów, gdzie podany katalog\n"
+-" i wszystkie pliki i podkatalogi poniżej niego (czyli drzewo) mogą być\n"
+-" ograniczone do używania podzbioru miejsca dostępnego w systemie plików.\n"
++" sendfile kopiuje dane między jednym deskryptorem pliku a innym. Ponieważ to\n"
++" kopiowanie jest wykonywane przez jądro, sendfile nie potrzebuje przesyłać\n"
++" danych do i z przestrzeni użytkownika.\n"
++" -f - podanie plików wejściowego z którego dane mają być czytane\n"
++" -i - podanie nazwy pliku wejściowego z którego dane mają być czytane\n"
++" Opcjonalnie można podać offset i długość danych w pliku źródłowym.\n"
+ "\n"
+-" Zarządzane drzewo musi być ustanowione początkowo przy użyciu opcji project -c.\n"
+-" Podana nazwa lub identyfikator projektu jest dopasowywany do jednego lub\n"
+-" większej liczby drzew zdefiniowanych w /etc/projects, a następnie te drzewa są\n"
+-" rekurencyjnie przechodzone w celu oznaczenia i-węzłów jako będących częścią\n"
+-" tego drzewa - co ustawia flagi i-węzłów i identyfikator projektu dla każdego\n"
+-" pliku.\n"
+-" Po zrobieniu tego nowe pliki tworzone w drzewie będą automatycznie liczone jako\n"
+-" część drzewa o ich identyfikatorze projektu. Próba utworzenia dowiązania\n"
+-" zwykłego do pliku w drzewie powiedzie się tylko jeśli identyfikator projektu\n"
+-" pasuje do identyfikatora projektu drzewa. Można użyć narzędzia xfs_io do\n"
+-" ustawienia ID projektu dla dowolnego pliku, ale może tego dokonać tylko\n"
+-" uprzywilejowany użytkownik.\n"
++
++#: .././io/sendfile.c:161
++#, c-format
++msgid "sent %lld/%lld bytes from offset %lld\n"
++msgstr "przesłano %lld/%lld bajtów od offsetu %lld\n"
++
++#: .././io/sendfile.c:186
++msgid "-i infile | -f N [off len]"
++msgstr "-i plik_wej | -f N [offset długość]"
++
++#: .././io/sendfile.c:188
++msgid "Transfer data directly between file descriptors"
++msgstr "Przesłanie danych bezpośrednio między deskryptorami plików"
++
++#: .././io/shutdown.c:59
++msgid "[-f]"
++msgstr "[-f]"
++
++#: .././io/shutdown.c:61
++msgid "shuts down the filesystem where the current file resides"
++msgstr "wyłączenie systemu plików na którym znajduje się bieżący plik"
++
++#: .././io/sync_file_range.c:31
++#, c-format
++msgid ""
+ "\n"
+-" Poprzednio ustanowione drzewa można usunąć z kontroli limitów projektu poprzez\n"
+-" użycie opcji -C, która rekurencyjnie przejdzie drzewo, usuwając i-węzły spod\n"
+-" kontroli limitów projektu.\n"
++" Trigger specific writeback commands on a range of the current file\n"
+ "\n"
+-" Opcji -c można użyć do sprawdzenia czy drzewo zostało ustanowione - nie\n"
+-" informuje o niczym jeśli drzewo jest poprawne, a w przeciwnym wypadku zgłasza\n"
+-" ścieżki i-węzłów nie mające ID projektu takiego jak reszta drzewa lub nie\n"
+-" mające ustawionej flagi.\n"
++" With no options, the SYNC_FILE_RANGE_WRITE is implied.\n"
++" -a -- wait for IO to finish after writing (SYNC_FILE_RANGE_WAIT_AFTER).\n"
++" -b -- wait for IO to finish before writing (SYNC_FILE_RANGE_WAIT_BEFORE).\n"
++" -w -- write dirty data in range (SYNC_FILE_RANGE_WRITE).\n"
+ "\n"
+-" Opcja -p <ścieżka> umożliwia podanie ścieżki projektu w linii poleceń\n"
+-" bez potrzeby tworzenia pliku /etc/projects. Ta opcja może być używana\n"
+-" wielokrotnie w celu przekazanie wielu ścieżek projektu. Tylko jeden\n"
+-" identyfikator projektu może być podawy w linii poleceń w momencie\n"
+-" używania opcji -p. Jeśli plik /etc/projects istnieje to także jest używany\n"
+-" oprócz ścieżek w linii poleceń.\n"
++msgstr ""
+ "\n"
+-" Opcja -d <poziom> pozwala na ograniczanie zagłębiania się w podkatalogach\n"
+-" projektu do granicy <poziom>. -d 0 oznacza najwyższy poziom. -d 1 oznacza\n"
+-" brak limitu zagłębiania (domyślny).\n"
++" Wyzwolenie określonych poleceń zapisu w tle na pewnym zakresie bieżącego pliku\n"
+ "\n"
+-" Format plików /etc/projid i /etc/projects jest prosty i opisany na stronie\n"
+-" manuala xfs_quota.\n"
++" Bez opcji przyjmowana jest operacja SYNC_FILE_RANGE_WRITE.\n"
++" -a - oczekiwanie na zakończenie we/wy po zapisie (SYNC_FILE_RANGE_WAIT_AFTER).\n"
++" -b - oczekiwanie na zakończenie we/wy przedtem (SYNC_FILE_RANGE_WAIT_BEFORE).\n"
++" -w - zapis zmodyfikowanych danych z zakresu (SYNC_FILE_RANGE_WRITE).\n"
+ "\n"
+-#: .././quota/project.c:108 .././quota/project.c:153 .././quota/project.c:200
+-#, c-format
+-msgid "%s: cannot stat file %s\n"
+-msgstr "%s: nie można wykonać stat na pliku %s\n"
++#: .././io/sync_file_range.c:102
++msgid "[-abw] off len"
++msgstr "[-abw] offset długość"
+-#: .././quota/project.c:112 .././quota/project.c:157 .././quota/project.c:204
+-#, c-format
+-msgid "%s: skipping special file %s\n"
+-msgstr "%s: pominięto plik specjalny %s\n"
++#: .././io/sync_file_range.c:103
++msgid "Control writeback on a range of a file"
++msgstr "Sterowanie zapisem w tle dla zakresu pliku"
+-#: .././quota/project.c:118 .././quota/project.c:163 .././quota/project.c:210
+-#: .././mkfs/proto.c:284 .././libxfs/init.c:110 .././io/attr.c:171
+-#: .././io/attr.c:247 .././io/open.c:397 .././io/open.c:469 .././io/open.c:593
+-#: .././io/open.c:615
++#: .././io/truncate.c:38
+ #, c-format
+-msgid "%s: cannot open %s: %s\n"
+-msgstr "%s: nie można otworzyć %s: %s\n"
++msgid "non-numeric truncate argument -- %s\n"
++msgstr "nieliczbowy argument truncate - %s\n"
+-#: .././quota/project.c:122 .././quota/project.c:168 .././quota/project.c:215
+-#: .././io/attr.c:174 .././io/attr.c:221 .././io/attr.c:250 .././io/attr.c:321
+-#, c-format
+-msgid "%s: cannot get flags on %s: %s\n"
+-msgstr "%s: nie można pobrać flag %s: %s\n"
++#: .././io/truncate.c:58
++msgid "off"
++msgstr "offset"
+-#: .././quota/project.c:126
+-#, c-format
+-msgid "%s - project identifier is not set (inode=%u, tree=%u)\n"
+-msgstr "%s - identyfikator projektu nie ustawiony (i-węzeł=%u, drzewo=%u)\n"
++#: .././io/truncate.c:60
++msgid "truncates the current file at the given offset"
++msgstr "ucięcie bieżącego pliku na podanym offsecie"
+-#: .././quota/project.c:130
++#: .././libdisk/dm.c:57
+ #, c-format
+-msgid "%s - project inheritance flag is not set\n"
+-msgstr "%s - flaga dziedziczenia projektu nie ustawiona\n"
++msgid "Warning - device mapper device, but no dmsetup(8) found\n"
++msgstr "Uwaga - urządzenie device mappera, ale nie znaleziono dmsetup(8)\n"
+-#: .././quota/project.c:178
++#: .././libdisk/dm.c:73 .././libdisk/lvm.c:70
+ #, c-format
+-msgid "%s: cannot clear project on %s: %s\n"
+-msgstr "%s: nie można usunąć projektu z %s: %s\n"
++msgid "Could not open pipe\n"
++msgstr "Nie udało się otworzyć potoku\n"
+-#: .././quota/project.c:225
++#: .././libdisk/dm.c:88 .././libdisk/lvm.c:85
+ #, c-format
+-msgid "%s: cannot set project on %s: %s\n"
+-msgstr "%s: nie można ustawić projektu na %s: %s\n"
++msgid "Failed to execute %s\n"
++msgstr "Nie udało się wywołać %s\n"
+-#: .././quota/project.c:240
++#: .././libdisk/dm.c:92
+ #, c-format
+-msgid "Checking project %s (path %s)...\n"
+-msgstr "Sprawdzanie projektu %s (ścieżka %s)...\n"
++msgid "Failed forking dmsetup process\n"
++msgstr "Nie udało się odgałęzić procesu dmsetup\n"
+-#: .././quota/project.c:244
++#: .././libdisk/drivers.c:35
+ #, c-format
+-msgid "Setting up project %s (path %s)...\n"
+-msgstr "Ustanawianie projektu %s (ścieżka %s)...\n"
++msgid "Cannot stat %s: %s\n"
++msgstr "Nie można wykonać stat na %s: %s\n"
+-#: .././quota/project.c:248
++#: .././libdisk/lvm.c:60
+ #, c-format
+-msgid "Clearing project %s (path %s)...\n"
+-msgstr "Usuwanie projektu %s (ścieżka %s)...\n"
++msgid "Warning - LVM device, but no lvdisplay(8) found\n"
++msgstr "Uwaga - urządzenie LVM, ale nie znaleziono lvdisplay(8)\n"
+-#: .././quota/project.c:271
++#: .././libdisk/lvm.c:89
+ #, c-format
+-msgid "Processed %d (%s and cmdline) paths for project %s with recursion depth %s (%d).\n"
+-msgstr ""
+-"Przetworzono %d (z %s oraz z linii poleceń) ścieżek dla projektu %s\n"
+-"z ograniczeniem %s (%d)\n"
++msgid "Failed forking lvdisplay process\n"
++msgstr "Nie udało się odgałęzić procesu lvdisplay\n"
+-#: .././quota/project.c:274
+-msgid "infinite"
+-msgstr "nieaktywnym"
++#: .././libdisk/md.c:61
++#, c-format
++msgid "Error getting MD array device from %s\n"
++msgstr "Błąd podczas pobierania urządzenia macierzy MD z %s\n"
+-#: .././quota/project.c:274
+-msgid "limited"
+-msgstr "aktywnym"
++#: .././libdisk/md.c:68
++#, c-format
++msgid "Couldn't malloc device string\n"
++msgstr "Nie można przydzielić łańcucha nazwy urządzenia\n"
+-#: .././quota/project.c:319
++#: .././libdisk/md.c:84
+ #, c-format
+-msgid "projects file \"%s\" doesn't exist\n"
+-msgstr "plik projektów \"%s\" nie istnieje\n"
++msgid "Error getting MD array info from %s\n"
++msgstr "Błąd podczas pobierania informacji o macierzy MD z %s\n"
+-#: .././quota/project.c:326
++#: .././libxcmd/command.c:85
+ #, c-format
+-msgid "%s: only one projid/name can be specified when using -p <path>, %d found.\n"
+-msgstr "%s: tylko jeden id projektu/nazwa może być podana kiedy opcja -p <ścieżka> jest w użyciu. Znaleziono %d.\n"
++msgid "bad argument count %d to %s, expected at least %d arguments\n"
++msgstr "błędna liczba argumentów %d dla %s, oczekiwano co najmniej %d argumentów\n"
+-#: .././quota/project.c:336
++#: .././libxcmd/command.c:89
+ #, c-format
+-msgid "%s - no such project in %s or invalid project number\n"
+-msgstr "%s - nie ma takiego projektu w %s lub błędny numer projektu\n"
++msgid "bad argument count %d to %s, expected %d arguments\n"
++msgstr "błędna liczba argumentów %d dla %s, oczekiwano %d argumentów\n"
+-#: .././quota/project.c:353
+-msgid "[-c|-s|-C|-d <depth>|-p <path>] project ..."
+-msgstr "[-c|-s|-C| -d <poziom>|-p <ścieżka>] projekt ..."
++#: .././libxcmd/command.c:93
++#, c-format
++msgid "bad argument count %d to %s, expected between %d and %d arguments\n"
++msgstr "błędna liczba argumentów %d dla %s, oczekiwano od %d do %d argumentów\n"
+-#: .././quota/project.c:356
+-msgid "check, setup or clear project quota trees"
+-msgstr "sprawdzenie, ustanowienie lub usunięcie drzew projektów"
++#: .././libxcmd/command.c:155
++#, c-format
++msgid "cannot strdup command '%s': %s\n"
++msgstr "nie można wykonać strdup na poleceniu '%s': %s\n"
+-#: .././quota/quot.c:55
++#: .././libxcmd/command.c:171 .././libxcmd/command.c:189
+ #, c-format
+-msgid ""
+-"\n"
+-" display a summary of filesystem ownership\n"
+-"\n"
+-" -a -- summarise for all local XFS filesystem mount points\n"
+-" -c -- display three columns giving file size in kilobytes, number of files\n"
+-"       of that size, and cumulative total of kilobytes in that size or\n"
+-"       smaller file.  The last row is used as an overflow bucket and is the\n"
+-"       total of all files greater than 500 kilobytes.\n"
+-" -v -- display three columns containing the number of kilobytes not\n"
+-"       accessed in the last 30, 60, and 90 days.\n"
+-" -g -- display group summary\n"
+-" -p -- display project summary\n"
+-" -u -- display user summary\n"
+-" -b -- display number of blocks used\n"
+-" -i -- display number of inodes used\n"
+-" -r -- display number of realtime blocks used\n"
+-" -n -- skip identifier-to-name translations, just report IDs\n"
+-" -N -- suppress the initial header\n"
+-" -f -- send output to a file\n"
+-" The (optional) user/group/project can be specified either by name or by\n"
+-" number (i.e. uid/gid/projid).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" wyświetlenie podsumowania własności systemu plików\n"
+-"\n"
+-" -a - podsumowanie dla wszystkich punktów montowania systemów plików XFS\n"
+-" -c - wyświetlenie trzech kolumn z rozmiarem plików w kilobajtach, liczbą\n"
+-"      plików tego rozmiaru i sumą kilobajtów w plikach o tym lub mniejszym\n"
+-"      rozmiarze. Ostatni wiersz podsumowuje pliki większe niż 500 kilobajtów.\n"
+-" -v - wyświetlenie trzech kolumn zawierających liczbę kilobajtów, do których\n"
+-"      nie było odwołań przez ostatnie 30, 60 i 90 dni.\n"
+-" -g - wyświetlenie podsumowania dla grup\n"
+-" -p - wyświetlenie podsumowania dla projektów\n"
+-" -u - wyświetlenie podsumowania dla użytkowników\n"
+-" -b - wyświetlenie liczby wykorzystanych bloków\n"
+-" -i - wyświetlenie liczby wykorzystanych i-węzłów\n"
+-" -r - wyświetlenie liczby wykorzystanych blików realtime\n"
+-" -n - pominięcie tłumaczenia identyfikatorów na nazwy, wypisywanie ID\n"
+-" -N - pominięcie początkowego nagłówka\n"
+-" -f - zapisanie wyjścia do pliku\n"
+-" (opcjonalny) użytkownik/grupa/projekt może być podany za pomocą nazwy lub\n"
+-" numeru (tzn. uid/gid/projid).\n"
++msgid "command \"%s\" not found\n"
++msgstr "nie znaleziono polecenia \"%s\"\n"
+-#: .././quota/quot.c:219
++#: .././libxcmd/paths.c:264
+ #, c-format
+-msgid "%s (%s) %s:\n"
+-msgstr "%s (%s) %s:\n"
++msgid "%s: unable to extract mount options for \"%s\"\n"
++msgstr "%s: nie udało się wydobyć opcji montowania dla \"%s\"\n"
+-#: .././quota/quot.c:295
++#: .././libxcmd/paths.c:344
+ #, c-format
+-msgid "%s (%s):\n"
+-msgstr "%s (%s):\n"
++msgid "%s: getmntinfo() failed: %s\n"
++msgstr "%s: getmntinfo() nie powiodło się: %s\n"
+-#: .././quota/quot.c:300 .././quota/quot.c:304
++#: .././libxcmd/paths.c:413
+ #, c-format
+-msgid "%d\t%llu\t%llu\n"
+-msgstr "%d\t%llu\t%llu\n"
++msgid "%s: cannot setup path for mount %s: %s\n"
++msgstr "%s: nie można ustawić ścieżki dla montowania %s: %s\n"
+-#: .././quota/quot.c:418
+-msgid "[-bir] [-gpu] [-acv] [-f file]"
+-msgstr "[-bir] [-gpu] [-acv] [-f plik]"
++#: .././libxcmd/paths.c:435
++#, c-format
++msgid "%s: cannot find mount point for path `%s': %s\n"
++msgstr "%s: nie można znaleźć punktu montowania dla ścieżki `%s': %s\n"
+-#: .././quota/quot.c:419
+-msgid "summarize filesystem ownership"
+-msgstr "podsumowanie własności systemu plików"
++#: .././libxcmd/paths.c:463
++#, c-format
++msgid "%s: cannot setup path for project %s: %s\n"
++msgstr "%s: nie można ustawić ścieżki dla projektu %s: %s\n"
+-#: .././quota/quota.c:32
++#: .././libxcmd/paths.c:504
+ #, c-format
+-msgid ""
+-"\n"
+-" display usage and quota information\n"
+-"\n"
+-" -g -- display group quota information\n"
+-" -p -- display project quota information\n"
+-" -u -- display user quota information\n"
+-" -b -- display number of blocks used\n"
+-" -i -- display number of inodes used\n"
+-" -r -- display number of realtime blocks used\n"
+-" -h -- report in a human-readable format\n"
+-" -n -- skip identifier-to-name translations, just report IDs\n"
+-" -N -- suppress the initial header\n"
+-" -v -- increase verbosity in reporting (also dumps zero values)\n"
+-" -f -- send output to a file\n"
+-" The (optional) user/group/project can be specified either by name or by\n"
+-" number (i.e. uid/gid/projid).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" wyświetlenie informacji o wykorzystaniu miejsca i limitach\n"
+-"\n"
+-" -g - wyświetlenie informacji o limitach grup\n"
+-" -p - wyświetlenie informacji o limitach projektów\n"
+-" -u - wyświetlenie informacji o limitach użytkowników\n"
+-" -b - wyświetlenie liczby wykorzystanych bloków\n"
+-" -i - wyświetlenie liczby wykorzystanych i-węzłów\n"
+-" -r - wyświetlenie liczby wykorzystanych bloków realtime\n"
+-" -h - użycie formatu czytelnego dla człowieka\n"
+-" -n - pominięcie tłumaczenia identyfikatorów na nazwy, wypisywanie ID\n"
+-" -N - pominięcie początkowego nagłówka\n"
+-" -v - zwiększenie szczegółowości (wypisywanie także wartości zerowych)\n"
+-" -f - zapisanie wyjścia do pliku\n"
+-" (opcjonalny) użytkownik/grupa/projekt może być podany za pomocą nazwy lub\n"
+-" numeru (tzn. uid/gid/projid).\n"
++msgid "%s: cannot initialise path table: %s\n"
++msgstr "%s: nie można zainicjować tabeli ścieżek: %s\n"
+-#: .././quota/quota.c:85
++#: .././libxcmd/paths.c:524
+ #, c-format
+-msgid ""
+-"Disk quotas for %s %s (%u)\n"
+-"Filesystem%s"
+-msgstr ""
+-"Limity dyskowe (quota) dla %s %s (%u)\n"
+-"System plików%s"
++msgid "%s: cannot setup path for project dir %s: %s\n"
++msgstr "%s: nie można ustawić ścieżki dla katalogu projektu %s: %s\n"
+-#: .././quota/quota.c:90
++#: .././libxcmd/quit.c:42
++msgid "exit the program"
++msgstr "wyjście z programu"
++
++#: .././libxfs/darwin.c:41
+ #, c-format
+-msgid " Blocks  Quota  Limit Warn/Time    "
+-msgstr " Bloki   Quota  Limit Czas ostrz.  "
++msgid "%s: error opening the device special file \"%s\": %s\n"
++msgstr "%s: błąd podczas otwierania pliku specjalnego urządzenia \"%s\": %s\n"
+-#: .././quota/quota.c:91
++#: .././libxfs/darwin.c:48
+ #, c-format
+-msgid "     Blocks      Quota      Limit  Warn/Time      "
+-msgstr "     Bloki       Quota      Limit  Czas ostrz.    "
++msgid "%s: can't tell if \"%s\" is writable: %s\n"
++msgstr "%s: nie można stwierdzić czy \"%s\" jest zapisywalny: %s\n"
+-#: .././quota/quota.c:94
++#: .././libxfs/darwin.c:76 .././libxfs/freebsd.c:116 .././libxfs/irix.c:58
++#: .././libxfs/linux.c:138
+ #, c-format
+-msgid "  Files  Quota  Limit Warn/Time    "
+-msgstr "  Pliki  Quota  Limit Czas ostrz.  "
++msgid "%s: cannot stat the device file \"%s\": %s\n"
++msgstr "%s: nie można wykonać stat na pliku urządzenia \"%s\": %s\n"
+-#: .././quota/quota.c:95
++#: .././libxfs/darwin.c:86
+ #, c-format
+-msgid "      Files      Quota      Limit  Warn/Time      "
+-msgstr "      Pliki      Quota      Limit  Czas ostrz.    "
++msgid "%s: can't determine device size: %s\n"
++msgstr "%s: nie można określić rozmiaru urządzenia: %s\n"
+-#: .././quota/quota.c:98
++#: .././libxfs/darwin.c:139 .././libxfs/freebsd.c:196 .././libxfs/irix.c:106
++#: .././libxfs/linux.c:216
+ #, c-format
+-msgid "Realtime Quota  Limit Warn/Time    "
+-msgstr "Realtime Quota  Limit Czas ostrz.  "
++msgid "%s: can't determine memory size\n"
++msgstr "%s: nie można określić rozmiaru pamięci\n"
+-#: .././quota/quota.c:99
++#: .././libxfs/freebsd.c:49
+ #, c-format
+-msgid "   Realtime      Quota      Limit  Warn/Time      "
+-msgstr "   Realtime      Quota      Limit  Czas ostrz.    "
++msgid "%s: %s possibly contains a mounted filesystem\n"
++msgstr "%s: %s może zawierać podmontowany system plików\n"
+-#: .././quota/quota.c:235
++#: .././libxfs/freebsd.c:60 .././libxfs/linux.c:67
+ #, c-format
+-msgid "%s: cannot find user %s\n"
+-msgstr "%s: nie można odnaleźć użytkownika %s\n"
++msgid "%s: %s contains a mounted filesystem\n"
++msgstr "%s: %s zawiera podmontowany system plików\n"
+-#: .././quota/quota.c:285
++#: .././libxfs/freebsd.c:75 .././libxfs/linux.c:85
+ #, c-format
+-msgid "%s: cannot find group %s\n"
+-msgstr "%s: nie można odnaleźć grupy %s\n"
++msgid "%s: %s contains a possibly writable, mounted filesystem\n"
++msgstr "%s: %s zawiera podmontowany, być może zapisywalny system plików\n"
+-#: .././quota/quota.c:342
++#: .././libxfs/freebsd.c:89 .././libxfs/linux.c:99
+ #, c-format
+-msgid "%s: must specify a project name/ID\n"
+-msgstr "%s: należy podać nazwę/ID projektu\n"
++msgid "%s: %s contains a mounted and writable filesystem\n"
++msgstr "%s: %s zawiera podmontowany, zapisywalny system plików\n"
+-#: .././quota/quota.c:355
++#: .././libxfs/freebsd.c:129
+ #, c-format
+-msgid "%s: cannot find project %s\n"
+-msgstr "%s: nie można odnaleźć projektu %s\n"
++msgid "%s: Not a device or file: \"%s\"\n"
++msgstr "%s: Nie jest urządzeniem ani plikiem: \"%s\"\n"
+-#: .././quota/quota.c:460
+-msgid "[-bir] [-gpu] [-hnNv] [-f file] [id|name]..."
+-msgstr "[-bir] [-gpu] [-hnNv] [-f plik] [id|nazwa]..."
++#: .././libxfs/freebsd.c:135
++#, c-format
++msgid "%s: DIOCGMEDIASIZE failed on \"%s\": %s\n"
++msgstr "%s: DIOCGMEDIASIE nie powiodło się dla \"%s\": %s\n"
+-#: .././quota/quota.c:461
+-msgid "show usage and limits"
+-msgstr "pokazanie wykorzystania i limitów"
++#: .././libxfs/freebsd.c:141
++#, c-format
++msgid "%s: DIOCGSECTORSIZE failed on \"%s\": %s\n"
++msgstr "%s: DIOCGSECTORSIZE nie powiodło się dla \"%s\": %s\n"
+-#: .././quota/report.c:33 .././quota/report.c:647 .././quota/edit.c:697
+-msgid "[-gpu] [-f file]"
+-msgstr "[-gpu] [-f plik]"
++#: .././libxfs/init.c:79 .././libxfs/init.c:178
++#, c-format
++msgid "%s: %s: device %lld is not open\n"
++msgstr "%s: %s: urządzenie %lld nie jest otwarte\n"
+-#: .././quota/report.c:34 .././quota/report.c:648
+-msgid "dump quota information for backup utilities"
+-msgstr "zrzucenie informacji o limitach (quota) dla narzędzi backupowych"
++#: .././libxfs/init.c:115
++#, c-format
++msgid "%s: cannot stat %s: %s\n"
++msgstr "%s: nie można wykonać stat na %s: %s\n"
+-#: .././quota/report.c:36
++#: .././libxfs/init.c:140
+ #, c-format
+-msgid ""
+-"\n"
+-" create a backup file which contains quota limits information\n"
+-" -g -- dump out group quota limits\n"
+-" -p -- dump out project quota limits\n"
+-" -u -- dump out user quota limits (default)\n"
+-" -f -- write the dump out to the specified file\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" utworzenie pliku kopii zapasowej zawierającego informacje o limitach (quota)\n"
+-" -g - zrzucenie limitów dla grup\n"
+-" -p - zrzucenie limitów dla projektów\n"
+-" -u - zrzucenie limitów dla użytkowników (domyślne)\n"
+-" -f - zapisanie zrzutu do podanego pliku\n"
+-"\n"
++msgid "%s: device %lld is already open\n"
++msgstr "%s: urządzenie %lld jest już otwarte\n"
+-#: .././quota/report.c:48
+-msgid "[-bir] [-gpu] [-ahntLNU] [-f file]"
+-msgstr "[-bir] [-gpu] [-ahntLNU] [-f plik]"
++#: .././libxfs/init.c:153
++#, c-format
++msgid "%s: %s: too many open devices\n"
++msgstr "%s: %s: zbyt dużo otwartych urządzeń\n"
+-#: .././quota/report.c:49 .././quota/report.c:657
+-msgid "report filesystem quota information"
+-msgstr "raportowanie informacji o limitach (quota) w systemie plików"
++#: .././libxfs/init.c:196
++#, c-format
++msgid "%s: can't find a character device matching %s\n"
++msgstr "%s: nie można odnaleźć urządzenia znakowego odpowiadającego %s\n"
+-#: .././quota/report.c:51
++#: .././libxfs/init.c:202
+ #, c-format
+-msgid ""
+-"\n"
+-" report used space and inodes, and quota limits, for a filesystem\n"
+-" Example:\n"
+-" 'report -igh'\n"
+-" (reports inode usage for all groups, in an easy-to-read format)\n"
+-" This command is the equivalent of the traditional repquota command, which\n"
+-" prints a summary of the disk usage and quotas for the current filesystem,\n"
+-" or all filesystems.\n"
+-" -a -- report for all mounted filesystems with quota enabled\n"
+-" -h -- report in a human-readable format\n"
+-" -n -- skip identifier-to-name translations, just report IDs\n"
+-" -N -- suppress the header from the output\n"
+-" -t -- terse output format, hides rows which are all zero\n"
+-" -L -- lower ID bound to report on\n"
+-" -U -- upper ID bound to report on\n"
+-" -g -- report group usage and quota information\n"
+-" -p -- report project usage and quota information\n"
+-" -u -- report user usage and quota information\n"
+-" -b -- report blocks-used information only\n"
+-" -i -- report inodes-used information only\n"
+-" -r -- report realtime-blocks-used information only\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" informacje o wykorzystanym miejscu i i-węzłach oraz limitach quota dla systemu\n"
+-" plików\n"
+-"\n"
+-" Przykład:\n"
+-" 'report -igh'\n"
+-" (raport o wykorzystaniu i-węzłów dla wszystkich grup w czytelnym formacie)\n"
+-"\n"
+-" To polecenie jest odpowiednikiem tradycyjnego polecenia repquota, wypisującego\n"
+-" podsumowanie wykorzystania dysku i limitów dla bieżącego systemu plików lub\n"
+-" wszystkich systemów plików.\n"
+-" -a - informacje o wszystkich zamontowanych systemach plików z limitami\n"
+-" -h - informacje w formacie czytelnym dla człowieka\n"
+-" -n - pominięcie tłumaczenia identyfikatorów na nazwy, wypisywanie ID\n"
+-" -N - pominięcie początkowego nagłówka\n"
+-" -t - zwięzły format, ukrycie wierszy zerowych\n"
+-" -L - dolna granica ID dla wypisywanych informacji\n"
+-" -U - górna granica ID dla wypisywanych informacji\n"
+-" -g - informacje o wykorzystanym miejscu i limitach dla grup\n"
+-" -p - informacje o wykorzystanym miejscu i limitach dla projektów\n"
+-" -u - informacje o wykorzystanym miejscu i limitach dla użytkowników\n"
+-" -b - tylko informacje o wykorzystanych blokach\n"
+-" -i - tylko informacje o wykorzystanych i-węzłach\n"
+-" -r - tylko informacje o wykorzystanych blokach realtime\n"
+-"\n"
++msgid "%s: can't find a block device matching %s\n"
++msgstr "%s: nie można odnaleźć urządzenia blokowego odpowiadającego %s\n"
+-#: .././quota/report.c:228
++#: .././libxfs/init.c:319
+ #, c-format
+-msgid "%s quota on %s (%s)\n"
+-msgstr "limit %s na %s (%s)\n"
++msgid "%s: can't get size for data subvolume\n"
++msgstr "%s: nie można pobrać rozmiaru podwolumenu danych\n"
+-#: .././quota/report.c:253 .././quota/report.c:261
++#: .././libxfs/init.c:324
+ #, c-format
+-msgid "  Used   Soft   Hard Warn/Grace   "
+-msgstr " Użyto  Miękki Twardy Ostrzeżenie "
++msgid "%s: can't get size for log subvolume\n"
++msgstr "%s: nie można pobrać rozmiaru podwolumenu logu\n"
+-#: .././quota/report.c:254 .././quota/report.c:262
++#: .././libxfs/init.c:329
+ #, c-format
+-msgid "      Used       Soft       Hard    Warn/Grace     "
+-msgstr "     Użyto      Miękki     Twardy   Ostrzeżenie    "
++msgid "%s: can't get size for realtime subvolume\n"
++msgstr "%s: nie można pobrać rozmiaru podwolumenu realtime\n"
+-#: .././quota/report.c:257
++#: .././libxfs/init.c:423
+ #, c-format
+-msgid "  Used   Soft   Hard Warn/Grace  "
+-msgstr " Użyto  Miękki Twardy Ostrzeżenie"
++msgid "%s: filesystem has a realtime subvolume\n"
++msgstr "%s: system plików ma podwolumen realtime\n"
+-#: .././quota/report.c:258
++#: .././libxfs/init.c:445
+ #, c-format
+-msgid "      Used       Soft       Hard    Warn/ Grace     "
+-msgstr "     Użyto      Miękki     Twardy   Ostrzeżenie     "
++msgid "%s: realtime init - %llu != %llu\n"
++msgstr "%s: inicjalizacja realtime - %llu != %llu\n"
+-#: .././quota/report.c:656
+-msgid "[-bir] [-gpu] [-ahnt] [-f file]"
+-msgstr "[-bir] [-gpu] [-ahnt] [-f plik]"
++#: .././libxfs/init.c:453
++#, c-format
++msgid "%s: realtime size check failed\n"
++msgstr "%s: sprawdzenie rozmiaru realtime nie powiodło się\n"
+-#: .././quota/state.c:33
++#: .././libxfs/init.c:573
+ #, c-format
+-msgid ""
+-"\n"
+-" turn filesystem quota off, both accounting and enforcement\n"
+-"\n"
+-" Example:\n"
+-" 'off -uv'  (switch off user quota on the current filesystem)\n"
+-" This command is the equivalent of the traditional quotaoff command,\n"
+-" which disables quota completely on a mounted filesystem.\n"
+-" Note that there is no 'on' command - for XFS filesystems (with the\n"
+-" exception of the root filesystem on IRIX) quota can only be enabled\n"
+-" at mount time, through the use of one of the quota mount options.\n"
+-"\n"
+-" The state command is useful for displaying the current state.  Using\n"
+-" the -v (verbose) option with the 'off' command will display the quota\n"
+-" state for the affected filesystem once the operation is complete.\n"
+-" The affected quota type is -g (groups), -p (projects) or -u (users)\n"
+-" and defaults to user quota (multiple types can be specified).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" wyłączenie podsystemu quota (zarówno rozliczania jak i wymuszania)\n"
+-"\n"
+-" Przykład:\n"
+-" 'off -uv'  (wyłączenie limitów użytkownika w bieżącym systemie plików)\n"
+-"\n"
+-" To polecenie jest odpowiednikiem tradycyjnego polecenia quotaoff,\n"
+-" wyłączającego całkowicie limity na podmontowanym systemie plików.\n"
+-" Należy zauważyć, że nie ma polecenia 'on' - dla systemów plików XFS\n"
+-" (z wyjątkiem głównego systemu plików pod systemem IRIX) limity można\n"
+-" włączyć wyłącznie na etapie montowania, poprzez użycie jednej z opcji\n"
+-" quota programu mount.\n"
+-"\n"
+-" Polecenie state jest przydatne do wyświetlania aktualnego stanu. Użycie\n"
+-" opcji -v (szczegółowość) dla polecenia 'off' wyświetli stan quoty dla\n"
+-" danego systemu plików po zakończeniu operacji.\n"
+-" Rodzaj limitu którego dotyczy polecenie można wybrać opcją -g (grupy),\n"
+-" -p (projekty) lub -u (użytkownicy); domyślnie polecenie dotyczy limitów\n"
+-" użytkowników (można podać wiele rodzajów).\n"
+-"\n"
++msgid "%s: buftarg init failed\n"
++msgstr "%s: nie udało się zainicjować buftarg\n"
+-#: .././quota/state.c:56
++#: .././libxfs/init.c:594
+ #, c-format
+-msgid ""
+-"\n"
+-" query the state of quota on the current filesystem\n"
+-"\n"
+-" This is a verbose status command, reporting whether or not accounting\n"
+-" and/or enforcement are enabled for a filesystem, which inodes are in\n"
+-" use as the quota state inodes, and how many extents and blocks are\n"
+-" presently being used to hold that information.\n"
+-" The quota type is specified via -g (groups), -p (projects) or -u (users)\n"
+-" and defaults to user quota (multiple types can be specified).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" odczytanie stanu podsystemu quota w bieżącym systemie plików\n"
+-"\n"
+-" Jest to polecenie szczegółowo informujące o stanie, opisujące czy włączone\n"
+-" jest rozliczanie i/lub wymuszanie limitów w systemie plików, które i-węzły\n"
+-" są wykorzystywane jako i-węzły stanu quot oraz ile ekstentów i bloków jest\n"
+-" aktualnie używana do przechowywania tych informacji.\n"
+-" Rodzaj limitów podaje się opcją -g (grupy), -p (projekty) lub -u (użytkownicy);\n"
+-" domyślnie polecenie dotyczy limitów użytkowników (można podać wiele rodzajów).\n"
+-"\n"
++msgid "%s: bad buftarg reinit, ddev\n"
++msgstr "%s: błędna reinicjacja buftarg, ddev\n"
+-#: .././quota/state.c:72
++#: .././libxfs/init.c:601
+ #, c-format
+-msgid ""
+-"\n"
+-" enable quota enforcement on a filesystem\n"
+-"\n"
+-" If a filesystem is mounted and has quota accounting enabled, but not\n"
+-" quota enforcement, enforcement can be enabled with this command.\n"
+-" With the -v (verbose) option, the status of the filesystem will be\n"
+-" reported after the operation is complete.\n"
+-" The affected quota type is -g (groups), -p (projects) or -u (users)\n"
+-" and defaults to user quota (multiple types can be specified).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" włączenie wymuszania limitów w systemie plików\n"
+-"\n"
+-" Jeśli system plików jest podmontowany i ma włączone rozliczanie limitów,\n"
+-" ale nie ma wymuszania limitów, można włączyć wymuszanie tym poleceniem.\n"
+-" Z opcją -v (szczegółowość) po zakończeniu operacji zostanie zraportowany\n"
+-" stan systemu plików.\n"
+-" Rodzaj limitów podaje się opcją -g (grupy), -p (projekty) lub -u (użytkownicy);\n"
+-" domyślnie polecenie dotyczy limitów użytkowników (można podać wiele rodzajów).\n"
+-"\n"
++msgid "%s: bad buftarg reinit, ldev mismatch\n"
++msgstr "%s: błędna reinicjacja buftarg, niezgodność ldev\n"
+-#: .././quota/state.c:88
++#: .././libxfs/init.c:608
+ #, c-format
+-msgid ""
+-"\n"
+-" disable quota enforcement on a filesystem\n"
+-"\n"
+-" If a filesystem is mounted and is currently enforcing quota, this\n"
+-" provides a mechanism to switch off the enforcement, but continue to\n"
+-" perform used space (and used inodes) accounting.\n"
+-" The affected quota type is -g (groups), -p (projects) or -u (users).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" wyłączenie wymuszania limitów w systemie plików\n"
+-"\n"
+-" Jeśli system plików jest podmontowany i aktualnie wymusza przestrzeganie\n"
+-" limitów, tym poleceniem można wyłączyć wymuszanie, ale nadal pozostawić\n"
+-" rozliczanie wykorzystanego miejsca (oraz i-węzłów).\n"
+-" Rodzaj limitów podaje się opcją -g (grupy), -p (projekty) lub -u (użytkownicy).\n"
+-"\n"
++msgid "%s: bad buftarg reinit, logdev\n"
++msgstr "%s: błędna reinicjacja buftarg, logdev\n"
+-#: .././quota/state.c:102
++#: .././libxfs/init.c:615
+ #, c-format
+-msgid ""
+-"\n"
+-" remove any space being used by the quota subsystem\n"
+-"\n"
+-" Once quota has been switched 'off' on a filesystem, the space that\n"
+-" was allocated to holding quota metadata can be freed via this command.\n"
+-" The affected quota type is -g (groups), -p (projects) or -u (users)\n"
+-" and defaults to user quota (multiple types can be specified).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" zwolnienie miejsca zajmowanego przez podsystem quota\n"
+-"\n"
+-" Po wyłączeniu limitów dla systemu plików można tym poleceniem zwolnić miejsce\n"
+-" przydzielone na przechowywanie metadanych quot.\n"
+-" Rodzaj limitów podaje się opcją -g (grupy), -p (projekty) lub -u (użytkownicy);\n"
+-" domyślnie polecenie dotyczy limitów użytkowników (można podać wiele rodzajów).\n"
+-"\n"
++msgid "%s: bad buftarg reinit, rtdev\n"
++msgstr "%s: błędna reinicjacja buftarg, rtdev\n"
+-#: .././quota/state.c:121
++#: .././libxfs/init.c:707
+ #, c-format
+-msgid "%s quota state on %s (%s)\n"
+-msgstr "stan limitów %s na %s (%s)\n"
++msgid "%s: size check failed\n"
++msgstr "%s: sprawdzenie rozmiaru nie powiodło się\n"
+-#: .././quota/state.c:123
++#: .././libxfs/init.c:716
+ #, c-format
+-msgid "  Accounting: %s\n"
+-msgstr "  Rozliczanie: %s\n"
++msgid "%s: V1 directories unsupported. Please try an older xfsprogs.\n"
++msgstr "%s: katalogi V1 nie są obsługiwane. Proszę spróbować starszą wersją xfsprogs.\n"
+-#: .././quota/state.c:123 .././quota/state.c:124
+-msgid "ON"
+-msgstr "WŁĄCZONE"
++#: .././libxfs/init.c:737
++#, c-format
++msgid "%s: data size check failed\n"
++msgstr "%s: sprawdzenie rozmiaru danych nie powiodło się\n"
+-#: .././quota/state.c:123 .././quota/state.c:124
+-msgid "OFF"
+-msgstr "WYŁĄCZONE"
++#: .././libxfs/init.c:751
++#, c-format
++msgid "%s: log size checks failed\n"
++msgstr "%s: sprawdzenie rozmiaru logu nie powiodło się\n"
+-#: .././quota/state.c:124
++#: .././libxfs/init.c:762
+ #, c-format
+-msgid "  Enforcement: %s\n"
+-msgstr "  Wymuszanie: %s\n"
++msgid "%s: realtime device init failed\n"
++msgstr "%s: inicjalizacja urządzenia realtime nie powiodła się\n"
+-#: .././quota/state.c:126
++#: .././libxfs/init.c:769
+ #, c-format
+-msgid "  Inode: #%llu (%llu blocks, %lu extents)\n"
+-msgstr "  I-węzeł: #%llu (%llu bloków, %lu ekstentów)\n"
++msgid "%s: perag init failed\n"
++msgstr "%s: nie udało się zainicjować perag\n"
+-#: .././quota/state.c:131
++#: .././libxfs/kmem.c:15
+ #, c-format
+-msgid "  Inode: N/A\n"
+-msgstr "  I-węzeł: N/A\n"
++msgid "%s: zone init failed (%s, %d bytes): %s\n"
++msgstr "%s: inicjalizacja strefy nie powiodła się (%s, %d bajtów): %s\n"
+-#: .././quota/state.c:140
++#: .././libxfs/kmem.c:32
+ #, c-format
+-msgid "%s grace time: %s\n"
+-msgstr "czas pobłażliwości %s: %s\n"
++msgid "%s: zone alloc failed (%s, %d bytes): %s\n"
++msgstr "%s: przydzielenie strefy nie powiodło się (%s, %d bajtów): %s\n"
+-#: .././quota/state.c:157
++#: .././libxfs/kmem.c:56
+ #, c-format
+-msgid "%s quota are not enabled on %s\n"
+-msgstr "Limity %s nie są włączone na %s\n"
++msgid "%s: malloc failed (%d bytes): %s\n"
++msgstr "%s: malloc nie powiodło się (%d bajtów): %s\n"
+-#: .././quota/state.c:527 .././quota/state.c:543 .././quota/state.c:551
+-#: .././quota/state.c:559
+-msgid "[-gpu] [-v]"
+-msgstr "[-gpu] [-v]"
++#: .././libxfs/kmem.c:77
++#, c-format
++msgid "%s: realloc failed (%d bytes): %s\n"
++msgstr "%s: realloc nie powiodło się (%d bajtów): %s\n"
+-#: .././quota/state.c:528
+-msgid "permanently switch quota off for a path"
+-msgstr "wyłączenie limitów na stałe dla ścieżki"
++#: .././libxfs/linux.c:114
++#, c-format
++msgid "%s: %s - cannot set blocksize %d on block device %s: %s\n"
++msgstr "%s: %s - nie można ustawić rozmiaru bloku %d dla urządzenia blokowego %s: %s\n"
+-#: .././quota/state.c:535
+-msgid "[-gpu] [-a] [-v] [-f file]"
+-msgstr "[-gpu] [-a] [-v] [-f plik]"
++#: .././libxfs/linux.c:161
++#, c-format
++msgid "%s: can't determine device size\n"
++msgstr "%s: nie można określić rozmiaru urządzenia\n"
+-#: .././quota/state.c:536
+-msgid "get overall quota state information"
+-msgstr "uzyskanie ogólnych informacji o stanie quot"
++#: .././libxfs/linux.c:169
++#, c-format
++msgid "%s: warning - cannot get sector size from block device %s: %s\n"
++msgstr "%s: uwaga - nie można pobrać rozmiaru sektora urządzenia blokowego %s: %s\n"
+-#: .././quota/state.c:544
+-msgid "enable quota enforcement"
+-msgstr "włączenie wymuszania limitów"
++#: .././libxfs/rdwr.c:37
++#, c-format
++msgid "%s: %s can't memalign %d bytes: %s\n"
++msgstr "%s: %s nie można wykonać memalign dla %d bajtów: %s\n"
+-#: .././quota/state.c:552
+-msgid "disable quota enforcement"
+-msgstr "wyłączenie wymuszania limitów"
++#: .././libxfs/rdwr.c:47
++#, c-format
++msgid "%s: %s seek to offset %llu failed: %s\n"
++msgstr "%s: %s zmiana offsetu na %llu nie powiodła się: %s\n"
+-#: .././quota/state.c:560
+-msgid "remove quota extents from a filesystem"
+-msgstr "usunięcie ekstentów związanych z limitami z systemu plików"
++#: .././libxfs/rdwr.c:57
++#, c-format
++msgid "%s: %s write failed: %s\n"
++msgstr "%s: %s zapis nie powiódł się: %s\n"
+-#: .././quota/util.c:59
++#: .././libxfs/rdwr.c:61
+ #, c-format
+-msgid "[-none-]"
+-msgstr "[-brak-]"
++msgid "%s: %s not progressing?\n"
++msgstr "%s: %s nie postępuje?\n"
+-#: .././quota/util.c:59
++#: .././libxfs/rdwr.c:378
+ #, c-format
+-msgid "[--none--]"
+-msgstr "[--brak--]"
++msgid "%s: %s can't memalign %u bytes: %s\n"
++msgstr "%s: %s nie można wykonać memalign dla %u bajtów: %s\n"
+-#: .././quota/util.c:62
++#: .././libxfs/rdwr.c:410
+ #, c-format
+-msgid "[------]"
+-msgstr "[------]"
++msgid "%s: %s can't malloc %u bytes: %s\n"
++msgstr "%s: %s nie można przydzielić %u bajtów: %s\n"
+-#: .././quota/util.c:62
++#: .././libxfs/rdwr.c:491
+ #, c-format
+-msgid "[--------]"
+-msgstr "[--------]"
++msgid "%s: %s invalid map %p or nmaps %d\n"
++msgstr "%s: %s nieprawidłowa mapa %p lub nmaps %d\n"
+-# XXX: ngettext()
+-#: .././quota/util.c:66 .././quota/util.c:69
+-msgid "day"
+-msgstr "dzień"
++#: .././libxfs/rdwr.c:498
++#, c-format
++msgid "%s: %s map blkno 0x%llx doesn't match key 0x%llx\n"
++msgstr "%s: %s map blkno 0x%llx nie pasuje do klucza 0x%llx\n"
+-#: .././quota/util.c:66 .././quota/util.c:69
+-msgid "days"
+-msgstr "dni"
++#: .././libxfs/rdwr.c:543
++#, c-format
++msgid "Warning: recursive buffer locking at block %<PRIu64> detected\n"
++msgstr "Uwaga: wykryto rekurencyjną blokadę bufora na bloku %<PRIu64>\n"
+-#: .././quota/util.c:194
+-msgid "Blocks"
+-msgstr "Bloki"
++#: .././libxfs/rdwr.c:673
++#, c-format
++msgid "%s: read failed: %s\n"
++msgstr "%s: odczyt nie powiódł się: %s\n"
+-#: .././quota/util.c:194
+-msgid "Inodes"
+-msgstr "I-węzły"
++#: .././libxfs/rdwr.c:679
++#, c-format
++msgid "%s: error - read only %d of %d bytes\n"
++msgstr "%s: błąd - odczytano tylko %d z %d bajtów\n"
+-#: .././quota/util.c:194
+-msgid "Realtime Blocks"
+-msgstr "Bloki realtime"
++#: .././libxfs/rdwr.c:841
++#, c-format
++msgid "%s: pwrite64 failed: %s\n"
++msgstr "%s: pwrite64 nie powiodło się: %s\n"
+-#: .././quota/util.c:209
+-msgid "User"
+-msgstr "użytkowników"
++#: .././libxfs/rdwr.c:847
++#, c-format
++msgid "%s: error - pwrite64 only %d of %d bytes\n"
++msgstr "%s: błąd - wykonano pwrite64 tylko %d z %d bajtów\n"
+-#: .././quota/util.c:209
+-msgid "Group"
+-msgstr "grup"
++#: .././libxfs/rdwr.c:883
++#, c-format
++msgid "%s: write verifer failed on bno 0x%llx/0x%x\n"
++msgstr "%s: weryfikacja zapisu nie powiodła się na bno 0x%llx/0x%x\n"
+-#: .././quota/util.c:209
+-msgid "Project"
+-msgstr "projektów"
++#: .././libxfs/trans.c:56
++#, c-format
++msgid "%s: lidp calloc failed (%d bytes): %s\n"
++msgstr "%s: calloc lidp nie powiodło się (%d bajtów): %s\n"
+-#: .././quota/util.c:417
++#: .././libxfs/trans.c:151
+ #, c-format
+-msgid "%s: open on %s failed: %s\n"
+-msgstr "%s: open dla %s nie powiodło się: %s\n"
++msgid "%s: xact calloc failed (%d bytes): %s\n"
++msgstr "%s: xact calloc nie powiodło się (%d bajtów): %s\n"
+-#: .././quota/util.c:423
++#: .././libxfs/trans.c:713
+ #, c-format
+-msgid "%s: fdopen on %s failed: %s\n"
+-msgstr "%s: fdopen dla %s nie powiodło się: %s\n"
++msgid "%s: warning - imap_to_bp failed (%d)\n"
++msgstr "%s: uwaga - imap_to_bp nie powiodło się (%d)\n"
+-#: .././quota/edit.c:36
++#: .././libxfs/trans.c:721
++#, c-format
++msgid "%s: warning - iflush_int failed (%d)\n"
++msgstr "%s: uwaga - iflush_int nie powiodło się (%d)\n"
++
++#: .././libxfs/trans.c:788 .././libxfs/trans.c:847
++#, c-format
++msgid "%s: unrecognised log item type\n"
++msgstr "%s: nierozpoznany typ elementu logu\n"
++
++#: .././libxfs/util.c:692
++#, c-format
++msgid "%s: cannot reserve space: %s\n"
++msgstr "%s: nie można zarezerwować przestrzeni: %s\n"
++
++#: .././libxlog/util.c:37
+ #, c-format
+ msgid ""
+-"\n"
+-" modify quota limits for the specified user\n"
+-"\n"
+-" Example:\n"
+-" 'limit bsoft=100m bhard=110m tanya\n"
+-"\n"
+-" Changes the soft and/or hard block limits, inode limits and/or realtime\n"
+-" block limits that are currently being used for the specified user, group,\n"
+-" or project.  The filesystem identified by the current path is modified.\n"
+-" -d -- set the default values, used the first time a file is created\n"
+-" -g -- modify group quota limits\n"
+-" -p -- modify project quota limits\n"
+-" -u -- modify user quota limits\n"
+-" The block limit values can be specified with a units suffix - accepted\n"
+-" units are: k (kilobytes), m (megabytes), g (gigabytes), and t (terabytes).\n"
+-" The user/group/project can be specified either by name or by number.\n"
+-"\n"
++"* ERROR: mismatched uuid in log\n"
++"*            SB : %s\n"
++"*            log: %s\n"
+ msgstr ""
+-"\n"
+-" zmiana limitów quot dla podanego użytkownika\n"
+-"\n"
+-"Przykład:\n"
+-" 'limit bsoft=100m bhard=110m tanya'\n"
+-"\n"
+-" limit zmienia miękki i/lub twardy limit bloków, limity i-węzłów i/lub limity\n"
+-" bloków realtime aktualnie używane dla podanego użytkownika, grupy lub projektu.\n"
+-" System plików określony bieżącą ścieżką jest modyfikowany.\n"
+-" -d - ustawienie wartości domyślnych, użytych pierwszy raz przy tworzeniu pliku\n"
+-" -g - zmiana limitów quot grupy\n"
+-" -p - zmiana limitów quot projektu\n"
+-" -u - zmiana limitów quot użytkownika\n"
+-" Wartości limitów bloków mogą być podane z końcówką jednostki - przyjmowane\n"
+-" jednostki to: k (kilobajty), m (megabajty), g (gigabajty) i t (terabajty).\n"
+-" Użytkownik/grupa/projekt może być podany za pomocą nazwy lub numeru.\n"
+-"\n"
++"* BŁĄD: niepasujący uuid w logu\n"
++"             SB : %s\n"
++"             log: %s\n"
+-#: .././quota/edit.c:59
++#: .././libxlog/util.c:50
+ #, c-format
+ msgid ""
+ "\n"
+-" modify quota enforcement timeout for the current filesystem\n"
+-"\n"
+-" Example:\n"
+-" 'timer -i 3days'\n"
+-" (soft inode limit timer is changed to 3 days)\n"
+-"\n"
+-" Changes the timeout value associated with the block limits, inode limits\n"
+-" and/or realtime block limits for all users, groups, or projects on the\n"
+-" current filesystem.\n"
+-" As soon as a user consumes the amount of space or number of inodes set as\n"
+-" the soft limit, a timer is started.  If the timer expires and the user is\n"
+-" still over the soft limit, the soft limit is enforced as the hard limit.\n"
+-" The default timeout is 7 days.\n"
+-" -d -- set the default values, used the first time a file is created\n"
+-" -g -- modify group quota timer\n"
+-" -p -- modify project quota timer\n"
+-" -u -- modify user quota timer\n"
+-" -b -- modify the blocks-used timer\n"
+-" -i -- modify the inodes-used timer\n"
+-" -r -- modify the blocks-used timer for the (optional) realtime subvolume\n"
+-" The timeout value is specified as a number of seconds, by default.\n"
+-" However, a suffix may be used to alternatively specify minutes (m),\n"
+-" hours (h), days (d), or weeks (w) - either the full word or the first\n"
+-" letter of the word can be used.\n"
+-"\n"
++"LOG REC AT LSN cycle %d block %d (0x%x, 0x%x)\n"
+ msgstr ""
+ "\n"
+-" zmiana czasu wymuszenia limitów dla bieżącego systemu plików\n"
+-"\n"
+-" Przykład:\n"
+-" 'timer -i 3days'\n"
+-" (zmiana czasu wymuszenia miękkiego limitu i-węzłów na 3 dni)\n"
+-"\n"
+-" timer zmienia wartość ograniczenia czasu związanego z limitami bloków,\n"
+-" limitami i-węzłów i/lub limitami bloków realtime dla wszystkich użytkowników,\n"
+-" grup lub projektów na bieżącym systemie plików.\n"
+-" Po tym jak użytkownik wykorzysta ilość miejsca lub liczbę i-węzłów ustawioną\n"
+-" jako miękki limit, zaczyna działać zegar. Kiedy czas minie, a użytkownik nadal\n"
+-" przekracza miękki limit, miękki limit staje się twardym.\n"
+-" Domyślne ograniczenie czasowe to 7 dni.\n"
+-" -d - ustawienie wartości domyślnych, użytych pierwszy raz przy tworzeniu pliku\n"
+-" -g - zmiana czasu dla limitów quot grup\n"
+-" -p - zmiana czasu dla limitów quot projektów\n"
+-" -u - zmiana czasu dla limitów quot użytkowników\n"
+-" -b - zmiana czasu dla użytych bloków\n"
+-" -i - zmiana czasu dla użytych i-węzłów\n"
+-" -r - zmiana czasu dla użytych bloków na (opcjonalnym) podwolumenie realtime\n"
+-" Wartość ograniczenia czasu jest podawana domyślnie jako liczba sekund.\n"
+-" Jednak można dodać końcówkę, aby podać czas w minutach (m), godzinach (h),\n"
+-" dniach (d) lub tygodniach (w) - można użyć pełnego słowa lub pierwsze litery.\n"
+-"\n"
++"LOG REC AT LSN cykl %d blok %d (0x%x, 0x%x)\n"
+-#: .././quota/edit.c:91
++#: .././libxlog/util.c:58
+ #, c-format
+-msgid ""
+-"\n"
+-" modify the number of quota warnings sent to the specified user\n"
+-"\n"
+-" Example:\n"
+-" 'warn 2 jimmy'\n"
+-" (tell the quota system that two warnings have been sent to user jimmy)\n"
+-"\n"
+-" Changes the warning count associated with the block limits, inode limits\n"
+-" and/or realtime block limits for the specified user, group, or project.\n"
+-" When a user has been warned the maximum number of times allowed, the soft\n"
+-" limit is enforced as the hard limit.  It is intended as an alternative to\n"
+-" the timeout system, where the system administrator updates a count of the\n"
+-" number of warnings issued to people, and they are penalised if the warnings\n"
+-" are ignored.\n"
+-" -d -- set maximum warning count, which triggers soft limit enforcement\n"
+-" -g -- set group quota warning count\n"
+-" -p -- set project quota warning count\n"
+-" -u -- set user quota warning count\n"
+-" -b -- set the blocks-used warning count\n"
+-" -i -- set the inodes-used warning count\n"
+-" -r -- set the blocks-used warn count for the (optional) realtime subvolume\n"
+-" The user/group/project can be specified either by name or by number.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" zmiana liczby ostrzeżeń quot wysyłanych do podanego użytkownika\n"
+-"\n"
+-" Przykład:\n"
+-" 'warn 2 jimmy'\n"
+-" (przekazanie systemowi quota, że wysłano 2 ostrzeżenia do użytkownika jimmy)\n"
+-"\n"
+-" warn zmienia liczbę ostrzeżeń związanych z limitami bloków, limitami i-węzłów\n"
+-" i/lub limitami bloków realtime dla podanego użytkownika, grupy lub projektu.\n"
+-" Kiedy użytkownik został ostrzeżony maksymalną dozwoloną liczbę razy, miękki\n"
+-" limit staje się twardym. Jest to pomyślane jako alternatywa dla systemu\n"
+-" ograniczeń czasowych, gdzie administrator uaktualnia licznik ostrzeżeń\n"
+-" wysłanych do ludzi i karze użytkowników ignorujących ostrzeżenia.\n"
+-" -d - ustawienie maksymalnej liczby ostrzeżeń, po której wymuszane są limity\n"
+-" -g - ustawienie liczby ostrzeżeń dla grupy\n"
+-" -p - ustawienie liczby ostrzeżeń dla projektu\n"
+-" -u - ustawienie liczby ostrzeżeń dla grupy\n"
+-" -b - ustawienie liczby ostrzeżeń dla użytych bloków\n"
+-" -i - ustawienie liczby ostrzeżeń dla użytych i-węzłów\n"
+-" -r - ustawienie liczby ostrzeżeń dla użytych bloków na podwolumenie realtime\n"
+-" Użytkownik/grupa/projekt może być podany za pomocą nazwy lub numeru.\n"
+-"\n"
++msgid "* ERROR: bad magic number in log header: 0x%x\n"
++msgstr "* BŁĄD: błędna liczba magiczna w nagłówku logu: 0x%x\n"
+-#: .././quota/edit.c:145
++#: .././libxlog/util.c:67
+ #, c-format
+-msgid "%s: cannot set limits: %s\n"
+-msgstr "%s: nie można ustawić limitów: %s\n"
++msgid "* ERROR: log format incompatible (log=%d, ours=%d)\n"
++msgstr "* BŁĄD: niekompatybilny format logu (log=%d, nasz=%d)\n"
+-#: .././quota/edit.c:166 .././quota/edit.c:569
+-#, c-format
+-msgid "%s: invalid user name: %s\n"
+-msgstr "%s: nieprawidłowa nazwa użytkownika: %s\n"
++#: .././libxlog/util.c:77 .././libxlog/util.c:89
++msgid "Bad log"
++msgstr "Błędny log"
+-#: .././quota/edit.c:189 .././quota/edit.c:586
++#: .././logprint/log_copy.c:44 .././logprint/log_dump.c:43
+ #, c-format
+-msgid "%s: invalid group name: %s\n"
+-msgstr "%s: nieprawidłowa nazwa grupy: %s\n"
++msgid "%s: read error (%lld): %s\n"
++msgstr "%s: błąd odczytu (%lld): %s\n"
+-#: .././quota/edit.c:212 .././quota/edit.c:603
++#: .././logprint/log_copy.c:49 .././logprint/log_dump.c:48
+ #, c-format
+-msgid "%s: invalid project name: %s\n"
+-msgstr "%s: nieprawidłowa nazwa projektu: %s\n"
++msgid "%s: physical end of log at %lld\n"
++msgstr "%s: fizyczny koniec logu na %lld\n"
+-#: .././quota/edit.c:237
++#: .././logprint/log_copy.c:53
+ #, c-format
+-msgid "%s: Error: could not parse size %s.\n"
+-msgstr "%s: Błąd: nie udało się przeanalizować rozmiaru %s.\n"
++msgid "%s: short read? (%lld)\n"
++msgstr "%s: skrócony odczyt? (%lld)\n"
+-#: .././quota/edit.c:243
++#: .././logprint/log_copy.c:60
+ #, c-format
+-msgid "%s: Warning: `%s' in quota blocks is 0 (unlimited).\n"
+-msgstr "%s: Uwaga: `%s' w blokach limitów wynosi 0 (bez ograniczeń).\n"
++msgid "%s: write error (%lld): %s\n"
++msgstr "%s: błąd zapisu (%lld): %s\n"
+-#: .././quota/edit.c:332
++#: .././logprint/log_copy.c:65
+ #, c-format
+-msgid "%s: unrecognised argument %s\n"
+-msgstr "%s: nierozpoznany argument %s\n"
++msgid "%s: short write? (%lld)\n"
++msgstr "%s: skrócony zapis? (%lld)\n"
+-#: .././quota/edit.c:339
++#: .././logprint/log_dump.c:56
+ #, c-format
+-msgid "%s: cannot find any valid arguments\n"
+-msgstr "%s: nie można znaleźć żadnych poprawnych argumentów\n"
++msgid "%6lld HEADER Cycle %d tail %d:%06d len %6d ops %d\n"
++msgstr "%6lld NAGŁÓWEK Cykl %d koniec %d:%06d len %6d ops %d\n"
+-#: .././quota/edit.c:447
++#: .././logprint/log_dump.c:67
+ #, c-format
+-msgid "%s: fopen on %s failed: %s\n"
+-msgstr "%s: fopen na %s nie powiodło się: %s\n"
++msgid "[%05lld - %05lld] Cycle 0x%08x New Cycle 0x%08x\n"
++msgstr "[%05lld - %05lld] Cykl 0x%08x Nowy cykl 0x%08x\n"
+-#: .././quota/edit.c:479
++#: .././logprint/log_misc.c:131
+ #, c-format
+-msgid "%s: cannot set timer: %s\n"
+-msgstr "%s: nie można ustawić czasu: %s\n"
++msgid "Oper (%d): tid: %x  len: %d  clientid: %s  "
++msgstr "Operacja (%d): tid: %x  len: %d  clientid: %s  "
+-#: .././quota/edit.c:553
++#: .././logprint/log_misc.c:136
+ #, c-format
+-msgid "%s: cannot set warnings: %s\n"
+-msgstr "%s: nie można ustawić ostrzeżeń: %s\n"
+-
+-#: .././quota/edit.c:689
+-msgid "[-gpu] bsoft|bhard|isoft|ihard|rtbsoft|rtbhard=N -d|id|name"
+-msgstr "[-gpu] bsoft|bhard|isoft|ihard|rtbsoft|rtbhard=N -d|id|nazwa"
+-
+-#: .././quota/edit.c:690
+-msgid "modify quota limits"
+-msgstr "zmiana limitów quot"
+-
+-#: .././quota/edit.c:698
+-msgid "restore quota limits from a backup file"
+-msgstr "odtworzenie limitów quot z pliku kopii zapasowej"
+-
+-#: .././quota/edit.c:704 .././quota/edit.c:712
+-msgid "[-bir] [-gpu] value -d|id|name"
+-msgstr "[-bir] [-gpu] wartość -d|id|nazwa"
+-
+-#: .././quota/edit.c:705
+-msgid "get/set quota enforcement timeouts"
+-msgstr "pobranie/ustawienie czasu wymuszenia quot"
+-
+-#: .././quota/edit.c:713
+-msgid "get/set enforcement warning counter"
+-msgstr "pobranie/ustawienie licznika ostrzeżeń"
++msgid "flags: "
++msgstr "flagi: "
+-#: .././mkfs/proto.c:60
++#: .././logprint/log_misc.c:230
+ #, c-format
+-msgid "%s: failed to open %s: %s\n"
+-msgstr "%s: nie udało się otworzyć %s: %s\n"
++msgid "   Not enough data to decode further\n"
++msgstr "   Za mało danych do dalszego dekodowania\n"
+-#: .././mkfs/proto.c:66 .././mkfs/proto.c:291
++#: .././logprint/log_misc.c:234
+ #, c-format
+-msgid "%s: read failed on %s: %s\n"
+-msgstr "%s: odczyt nie powiódł się dla %s: %s\n"
++msgid "    type: %s       tid: %x       num_items: %d\n"
++msgstr "    typ: %s        tid: %x       num_items: %d\n"
+-#: .././mkfs/proto.c:71
++#: .././logprint/log_misc.c:282
+ #, c-format
+-msgid "%s: proto file %s premature EOF\n"
+-msgstr "%s: plik prototypu %s skończył się przedwcześnie\n"
+-
+-#: .././mkfs/proto.c:108
+-msgid "cannot reserve space"
+-msgstr "nie można zarezerwować miejsca"
++msgid "#regs: %d   start blkno: %lld (0x%llx)  len: %d  bmap size: %d  flags: 0x%x\n"
++msgstr "#regs: %d   start blkno: %lld (0x%llx)  len: %d  bmap size: %d  flags: 0x%x\n"
+-#: .././mkfs/proto.c:161
++#: .././logprint/log_misc.c:288
+ #, c-format
+-msgid "%s: premature EOF in prototype file\n"
+-msgstr "%s: przedwczesny EOF w pliku prototypu\n"
+-
+-#: .././mkfs/proto.c:180
+-msgid "error reserving space for a file"
+-msgstr "błąd podczas rezerwowania miejsca na plik"
+-
+-#: .././mkfs/proto.c:249
+-msgid "error allocating space for a file"
+-msgstr "błąd podczas przydzielania miejsca na plik"
++msgid "#regs: %d   Not printing rest of data\n"
++msgstr "#regs: %d   Bez wypisywania reszty danych\n"
+-#: .././mkfs/proto.c:253
++#: .././logprint/log_misc.c:305
+ #, c-format
+-msgid "%s: cannot allocate space for file\n"
+-msgstr "%s: nie można przydzielić miejsca na plik\n"
+-
+-#: .././mkfs/proto.c:316
+-msgid "directory createname error"
+-msgstr "błąd tworzenia nazwy katalogu"
+-
+-#: .././mkfs/proto.c:330
+-msgid "directory create error"
+-msgstr "błąd tworzenia katalogu"
++msgid "SUPER BLOCK Buffer: "
++msgstr "Bufor SUPER BLOKU: "
+-#: .././mkfs/proto.c:396 .././mkfs/proto.c:408 .././mkfs/proto.c:419
+-#: .././mkfs/proto.c:426
++#: .././logprint/log_misc.c:307 .././logprint/log_misc.c:371
++#: .././logprint/log_misc.c:397
+ #, c-format
+-msgid "%s: bad format string %s\n"
+-msgstr "%s: błędny łańcuch formatujący %s\n"
+-
+-#: .././mkfs/proto.c:447 .././mkfs/proto.c:486 .././mkfs/proto.c:501
+-#: .././mkfs/proto.c:513 .././mkfs/proto.c:525 .././mkfs/proto.c:536
+-msgid "Inode allocation failed"
+-msgstr "Przydzielanie i-węzła nie powiodło się"
+-
+-#: .././mkfs/proto.c:464
+-msgid "Inode pre-allocation failed"
+-msgstr "Wczesne przydzielanie i-węzła nie powiodło się"
+-
+-#: .././mkfs/proto.c:474
+-msgid "Pre-allocated file creation failed"
+-msgstr "Tworzenie wcześnie przydzielonego pliku nie powiodło się"
+-
+-#: .././mkfs/proto.c:556
+-msgid "Directory creation failed"
+-msgstr "Tworzenie katalogu nie powiodło się"
+-
+-#: .././mkfs/proto.c:580
+-msgid "Error encountered creating file from prototype file"
+-msgstr "Wystąpił błąd podczas tworzenia pliku z pliku prototypu"
+-
+-#: .././mkfs/proto.c:630
+-msgid "Realtime bitmap inode allocation failed"
+-msgstr "Przydzielanie i-węzła bitmapy realtime nie powiodło się"
+-
+-#: .././mkfs/proto.c:648
+-msgid "Realtime summary inode allocation failed"
+-msgstr "Tworzenie i-węzła opisu realtime nie powiodło się"
+-
+-#: .././mkfs/proto.c:675
+-msgid "Allocation of the realtime bitmap failed"
+-msgstr "Przydzielenie bitmapy realtime nie powiodło się"
+-
+-#: .././mkfs/proto.c:688
+-msgid "Completion of the realtime bitmap failed"
+-msgstr "Uzupełnienie bitmapy realtime nie powiodło się"
+-
+-#: .././mkfs/proto.c:712
+-msgid "Allocation of the realtime summary failed"
+-msgstr "Przydzielenie opisu realtime nie powiodło się"
+-
+-#: .././mkfs/proto.c:724
+-msgid "Completion of the realtime summary failed"
+-msgstr "Uzupełnienie opisu realtime nie powiodło się"
+-
+-#: .././mkfs/proto.c:741
+-msgid "Error initializing the realtime space"
+-msgstr "Błąd podczas inicjalizacji przestrzeni realtime"
+-
+-#: .././mkfs/proto.c:746
+-msgid "Error completing the realtime space"
+-msgstr "Błąd podczas uzupełniania przestrzeni realtime"
++msgid "Out of space\n"
++msgstr "Brak miejsca na dysku\n"
+-#: .././mkfs/xfs_mkfs.c:220
++#: .././logprint/log_misc.c:315
+ #, c-format
+-msgid "data su/sw must not be used in conjunction with data sunit/swidth\n"
+-msgstr "su/sw danych nie można użyć w połączeniu z sunit/swidth danych\n"
++msgid "icount: %llu  ifree: %llu  "
++msgstr "icount: %llu  ifree: %llu  "
+-#: .././mkfs/xfs_mkfs.c:227
++#: .././logprint/log_misc.c:320
+ #, c-format
+-msgid "both data sunit and data swidth options must be specified\n"
+-msgstr "trzeba podać obie opcje sunit i swidth dla danych\n"
++msgid "fdblks: %llu  frext: %llu\n"
++msgstr "fdblks: %llu  frext: %llu\n"
+-#: .././mkfs/xfs_mkfs.c:236
++#: .././logprint/log_misc.c:327
+ #, c-format
+-msgid "data sunit/swidth must not be used in conjunction with data su/sw\n"
+-msgstr "sunit/swidth danych nie można użyć w połączeniu z su/sw danych\n"
++msgid "AGI Buffer: XAGI  "
++msgstr "Bufor AGI: XAGI  "
+-#: .././mkfs/xfs_mkfs.c:243
++#: .././logprint/log_misc.c:330
+ #, c-format
+-msgid "both data su and data sw options must be specified\n"
+-msgstr "trzeba podać obie opcje su i sw dla danych\n"
++msgid "out of space\n"
++msgstr "brak miejsca na dysku\n"
+-#: .././mkfs/xfs_mkfs.c:250
++#: .././logprint/log_misc.c:333
+ #, c-format
+-msgid "data su must be a multiple of the sector size (%d)\n"
+-msgstr "su danych musi być wielokrotnością rozmiaru sektora (%d)\n"
++msgid "ver: %d  "
++msgstr "wersja: %d  "
+-#: .././mkfs/xfs_mkfs.c:261
++#: .././logprint/log_misc.c:335
+ #, c-format
+-msgid "data stripe width (%d) must be a multiple of the data stripe unit (%d)\n"
+-msgstr "szerokość pasa danych (%d) musi być wielokrotnością jednostki pasa danych (%d)\n"
++msgid "seq#: %d  len: %d  cnt: %d  root: %d\n"
++msgstr "seq#: %d  len: %d  cnt: %d  root: %d\n"
+-#: .././mkfs/xfs_mkfs.c:271
++#: .././logprint/log_misc.c:340
+ #, c-format
+-msgid "log su should not be used in conjunction with log sunit\n"
+-msgstr "su logu nie powinno być używane w połączeniu z sunit logu\n"
++msgid "level: %d  free#: 0x%x  newino: 0x%x\n"
++msgstr "level: %d  free#: 0x%x  newino: 0x%x\n"
+-#: .././mkfs/xfs_mkfs.c:280
++#: .././logprint/log_misc.c:350
+ #, c-format
+-msgid "log sunit should not be used in conjunction with log su\n"
+-msgstr "sunit logu nie powinno być używane w połączeniu z su logu\n"
++msgid "AGI unlinked data skipped "
++msgstr "Pominięto niedowiązane dane AGI "
+-#: .././mkfs/xfs_mkfs.c:350 .././mkfs/xfs_mkfs.c:474
++#: .././logprint/log_misc.c:351
+ #, c-format
+-msgid "%s: %s appears to contain an existing filesystem (%s).\n"
+-msgstr "%s: %s zdaje się zawierać istniejący system plików (%s).\n"
++msgid "(CONTINUE set, no space)\n"
++msgstr "(KONTYNUACJA, brak miejsca)\n"
+-#: .././mkfs/xfs_mkfs.c:354 .././mkfs/xfs_mkfs.c:480
++#: .././logprint/log_misc.c:357 .././logprint/log_print_all.c:146
+ #, c-format
+-msgid "%s: %s appears to contain a partition table (%s).\n"
+-msgstr "%s: %s zdaje się zawierać tablicę partycji (%s).\n"
++msgid "bucket[%d - %d]: "
++msgstr "kubełek[%d - %d]: "
+-#: .././mkfs/xfs_mkfs.c:358
++#: .././logprint/log_misc.c:369
+ #, c-format
+-msgid "%s: %s appears to contain something weird according to blkid\n"
+-msgstr "%s: %s zdaje się zawierać coś dziwnego wg blkid\n"
++msgid "AGF Buffer: XAGF  "
++msgstr "Bufor AGF: XAGF  "
+-#: .././mkfs/xfs_mkfs.c:368
++#: .././logprint/log_misc.c:374
+ #, c-format
+-msgid "%s: probe of %s failed, cannot detect existing filesystem.\n"
+-msgstr "%s: test %s nie powiódł się, nie można wykryć istniejącego systemu plików.\n"
++msgid "ver: %d  seq#: %d  len: %d  \n"
++msgstr "ver: %d  seq#: %d  len: %d  \n"
+-#: .././mkfs/xfs_mkfs.c:421
++#: .././logprint/log_misc.c:378
+ #, c-format
+-msgid "warning: device is not properly aligned %s\n"
+-msgstr "uwaga: urządzenie nie jest właściwie wyrównane: %s\n"
++msgid "root BNO: %d  CNT: %d\n"
++msgstr "root BNO: %d  CNT: %d\n"
+-#: .././mkfs/xfs_mkfs.c:426
++#: .././logprint/log_misc.c:381
+ #, c-format
+-msgid "Use -f to force usage of a misaligned device\n"
+-msgstr "Można użyć -f do wymuszenia użycia źle wyrównanego urządzenia\n"
++msgid "level BNO: %d  CNT: %d\n"
++msgstr "level BNO: %d  CNT: %d\n"
+-#: .././mkfs/xfs_mkfs.c:440
++#: .././logprint/log_misc.c:384
+ #, c-format
+-msgid "warning: unable to probe device toplology for device %s\n"
+-msgstr "uwaga: nie udało się odczytać topologii urządzenia %s\n"
++msgid "1st: %d  last: %d  cnt: %d  freeblks: %d  longest: %d\n"
++msgstr "1st: %d  last: %d  cnt: %d  freeblks: %d  longest: %d\n"
+-#: .././mkfs/xfs_mkfs.c:549
++#: .././logprint/log_misc.c:394
+ #, c-format
+-msgid "log size %lld is not a multiple of the log stripe unit %d\n"
+-msgstr "rozmiar logu %lld nie jest wielokrotnością jednostki pasa logu %d\n"
++msgid "DQUOT Buffer: DQ  "
++msgstr "Bufor DQUOT: DQ  "
+-#: .././mkfs/xfs_mkfs.c:577
++#: .././logprint/log_misc.c:401
+ #, c-format
+-msgid "Due to stripe alignment, the internal log size (%lld) is too large.\n"
+-msgstr "Ze względu na wyrównanie do rozmiaru pasa rozmiar wewnętrznego logu (%lld) jest zbyt duży.\n"
++msgid "ver: %d  flags: 0x%x  id: %d  \n"
++msgstr "ver: %d  flags: 0x%x  id: %d  \n"
+-#: .././mkfs/xfs_mkfs.c:579
++#: .././logprint/log_misc.c:404
+ #, c-format
+-msgid "Must fit within an allocation group.\n"
+-msgstr "Musi zmieścić się wewnątrz grupy alokacji.\n"
++msgid "blk limits  hard: %llu  soft: %llu\n"
++msgstr "blk limits  hard: %llu  soft: %llu\n"
+-#: .././mkfs/xfs_mkfs.c:590
++#: .././logprint/log_misc.c:409
+ #, c-format
+-msgid "log size %lld blocks too small, minimum size is %d blocks\n"
+-msgstr "rozmiar logu %lld bloków jest zbyt mały, minimalny rozmiar to %d bloków\n"
++msgid "blk  count: %llu  warns: %d  timer: %d\n"
++msgstr "blk  count: %llu  warns: %d  timer: %d\n"
+-#: .././mkfs/xfs_mkfs.c:596
++#: .././logprint/log_misc.c:413
+ #, c-format
+-msgid "log size %lld blocks too large, maximum size is %lld blocks\n"
+-msgstr "rozmiar logu %lld bloków jest zbyt duży, maksymalny rozmiar to %lld bloków\n"
++msgid "ino limits  hard: %llu  soft: %llu\n"
++msgstr "ino limits  hard: %llu  soft: %llu\n"
+-#: .././mkfs/xfs_mkfs.c:602
++#: .././logprint/log_misc.c:418
+ #, c-format
+-msgid "log size %lld bytes too large, maximum size is %lld bytes\n"
+-msgstr "rozmiar logu %lld bajtów jest zbyt duży, maksymalny rozmiar to %lld bajtów\n"
++msgid "ino  count: %llu  warns: %d  timer: %d\n"
++msgstr "ino  count: %llu  warns: %d  timer: %d\n"
+-#: .././mkfs/xfs_mkfs.c:710
++#: .././logprint/log_misc.c:424
+ #, c-format
+-msgid "agsize (%lldb) too small, need at least %lld blocks\n"
+-msgstr "agsize (%lldb) zbyt małe, potrzeba co najmniej %lld bloków\n"
++msgid "BUF DATA\n"
++msgstr "DANE BUFORA\n"
+-#: .././mkfs/xfs_mkfs.c:718
++#: .././logprint/log_misc.c:466
+ #, c-format
+-msgid "agsize (%lldb) too big, maximum is %lld blocks\n"
+-msgstr "agsize (%lldb) zbyt duże, maksimum to %lld bloków\n"
++msgid "EFD:  #regs: %d    num_extents: %d  id: 0x%llx\n"
++msgstr "EFD:  #regs: %d    num_extents: %d  id: 0x%llx\n"
+-#: .././mkfs/xfs_mkfs.c:726
++#: .././logprint/log_misc.c:473
+ #, c-format
+-msgid "agsize (%lldb) too big, data area is %lld blocks\n"
+-msgstr "agsize (%lldb) zbyt duże, obszar danych to %lld bloków\n"
++msgid "EFD: Not enough data to decode further\n"
++msgstr "EFD: Za mało danych do dalszego dekodowania\n"
+-#: .././mkfs/xfs_mkfs.c:733
++#: .././logprint/log_misc.c:497 .././logprint/log_misc.c:513
+ #, c-format
+-msgid "too many allocation groups for size = %lld\n"
+-msgstr "zbyt dużo grup alokacji dla rozmiaru = %lld\n"
++msgid "%s: xlog_print_trans_efi: malloc failed\n"
++msgstr "%s: xlog_print_trans_efi: malloc nie powiodło się\n"
+-#: .././mkfs/xfs_mkfs.c:735
++#: .././logprint/log_misc.c:507
+ #, c-format
+-msgid "need at most %lld allocation groups\n"
+-msgstr "potrzeba najwyżej %lld grup alokacji\n"
++msgid "EFI: Not enough data to decode further\n"
++msgstr "EFI: Za mało danych do dalszego dekodowania\n"
+-#: .././mkfs/xfs_mkfs.c:743
++#: .././logprint/log_misc.c:521
+ #, c-format
+-msgid "too few allocation groups for size = %lld\n"
+-msgstr "zbyt mało grup alokacji dla rozmiaru = %lld\n"
++msgid "EFI:  #regs: %d    num_extents: %d  id: 0x%llx\n"
++msgstr "EFI:  #regs: %d    num_extents: %d  id: 0x%llx\n"
+-#: .././mkfs/xfs_mkfs.c:745
++#: .././logprint/log_misc.c:525
+ #, c-format
+-msgid "need at least %lld allocation groups\n"
+-msgstr "potrzeba co najmniej %lld grup alokacji\n"
++msgid "EFI free extent data skipped (CONTINUE set, no space)\n"
++msgstr "Pominięto dane wolnego ekstentu EFI (KONTYNUACJA, brak miejsca)\n"
+-#: .././mkfs/xfs_mkfs.c:758
++#: .././logprint/log_misc.c:554
+ #, c-format
+-msgid "last AG size %lld blocks too small, minimum size is %lld blocks\n"
+-msgstr "rozmiar ostatniej AG %lld bloków zbyt mały, minimalny rozmiar to %lld bloków\n"
++msgid "QOFF:  #regs: %d    flags: 0x%x\n"
++msgstr "QOFF:  #regs: %d    flags: 0x%x\n"
+-#: .././mkfs/xfs_mkfs.c:769
++#: .././logprint/log_misc.c:557
+ #, c-format
+-msgid "%lld allocation groups is too many, maximum is %lld\n"
+-msgstr "%lld grup alokacji to zbyt dużo, maksimum to %lld\n"
++msgid "QOFF: Not enough data to decode further\n"
++msgstr "QOFF: Za mało danych do dalszego dekodowania\n"
+-#: .././mkfs/xfs_mkfs.c:793
++#: .././logprint/log_misc.c:566
+ #, c-format
+-msgid "error reading existing superblock -- failed to memalign buffer\n"
+-msgstr "błąd podczas odczytu istniejącego superbloku - nie udało się wykonać memalign dla bufora\n"
++msgid "INODE CORE\n"
++msgstr "RDZEŃ I-WĘZŁA\n"
+-#: .././mkfs/xfs_mkfs.c:799
++#: .././logprint/log_misc.c:567
+ #, c-format
+-msgid "existing superblock read failed: %s\n"
+-msgstr "odczyt istniejącego superbloku nie powiódł się: %s\n"
++msgid "magic 0x%hx mode 0%ho version %d format %d\n"
++msgstr "magic 0x%hx mode 0%ho version %d format %d\n"
+-#: .././mkfs/xfs_mkfs.c:1098
++#: .././logprint/log_misc.c:570
+ #, c-format
+-msgid "%s: Specify data sunit in 512-byte blocks, no unit suffix\n"
+-msgstr "%s: sunit danych należy podać w 512-bajtowych blokach, bez jednostki\n"
++msgid "nlink %hd uid %d gid %d\n"
++msgstr "nlink %hd uid %d gid %d\n"
+-#: .././mkfs/xfs_mkfs.c:1114
++#: .././logprint/log_misc.c:572
+ #, c-format
+-msgid "%s: Specify data swidth in 512-byte blocks, no unit suffix\n"
+-msgstr "%s: swidth danych należy podać w 512-bajtowych blokach, bez jednostki\n"
++msgid "atime 0x%x mtime 0x%x ctime 0x%x\n"
++msgstr "atime 0x%x mtime 0x%x ctime 0x%x\n"
+-#: .././mkfs/xfs_mkfs.c:1141
++#: .././logprint/log_misc.c:574
+ #, c-format
+-msgid "%s: Specify data sw as multiple of su, no unit suffix\n"
+-msgstr "%s: sw danych należy podać jako wielokrotność su, bez jednostki\n"
++msgid "size 0x%llx nblocks 0x%llx extsize 0x%x nextents 0x%x\n"
++msgstr "size 0x%llx nblocks 0x%llx extsize 0x%x nextents 0x%x\n"
+-#: .././mkfs/xfs_mkfs.c:1370
++#: .././logprint/log_misc.c:577
+ #, c-format
+-msgid "Specify log sunit in 512-byte blocks, no size suffix\n"
+-msgstr "sunit należy podać w 512-bajtowych blokach, bez jednostki\n"
++msgid "naextents 0x%x forkoff %d dmevmask 0x%x dmstate 0x%hx\n"
++msgstr "naextents 0x%x forkoff %d dmevmask 0x%x dmstate 0x%hx\n"
+-#: .././mkfs/xfs_mkfs.c:1630
++#: .././logprint/log_misc.c:580
+ #, c-format
+-msgid "extra arguments\n"
+-msgstr "nadmiarowe argumenty\n"
++msgid "flags 0x%x gen 0x%x\n"
++msgstr "flags 0x%x gen 0x%x\n"
+-#: .././mkfs/xfs_mkfs.c:1636
++#: .././logprint/log_misc.c:596
+ #, c-format
+-msgid "cannot specify both %s and -d name=%s\n"
+-msgstr "nie można podać jednocześnie %s i -d name=%s\n"
++msgid "SHORTFORM DIRECTORY size %d\n"
++msgstr "Rozmiar KATALOGU W POSTACI KRÓTKIEJ %d\n"
+-#: .././mkfs/xfs_mkfs.c:1653
++#: .././logprint/log_misc.c:602
+ #, c-format
+-msgid "illegal block size %d\n"
+-msgstr "niedozwolony rozmiar bloku %d\n"
++msgid "SHORTFORM DIRECTORY size %d count %d\n"
++msgstr "KATALOG W POSTACI KRÓTKIEJ: rozmiar %d liczba %d\n"
+-#: .././mkfs/xfs_mkfs.c:1688
++#: .././logprint/log_misc.c:605
+ #, c-format
+-msgid "specified blocksize %d is less than device physical sector size %d\n"
+-msgstr "podany rozmiar bloku %d jest mniejszy niż rozmiar fizycznego sektora urządzenia (%d)\n"
++msgid ".. ino 0x%llx\n"
++msgstr ".. ino 0x%llx\n"
+-#: .././mkfs/xfs_mkfs.c:1691
++#: .././logprint/log_misc.c:613
+ #, c-format
+-msgid "switching to logical sector size %d\n"
+-msgstr "przełączono na rozmiar sektora logicznego %d\n"
++msgid "%s ino 0x%llx namelen %d\n"
++msgstr "%s ino 0x%llx namelen %d\n"
+-#: .././mkfs/xfs_mkfs.c:1709
++#: .././logprint/log_misc.c:652
+ #, c-format
+-msgid "illegal sector size %d\n"
+-msgstr "niedozwolony rozmiar sektora %d\n"
++msgid "INODE: "
++msgstr "I-WĘZEŁ: "
+-#: .././mkfs/xfs_mkfs.c:1712
++#: .././logprint/log_misc.c:653
+ #, c-format
+-msgid "block size %d cannot be smaller than logical sector size %d\n"
+-msgstr "rozmiar bloku %d nie może być mniejszy niż rozmiar sektora logicznego %d\n"
++msgid "#regs: %d   ino: 0x%llx  flags: 0x%x   dsize: %d\n"
++msgstr "#regs: %d   ino: 0x%llx  flags: 0x%x   dsize: %d\n"
+-#: .././mkfs/xfs_mkfs.c:1717
++#: .././logprint/log_misc.c:656
+ #, c-format
+-msgid "illegal sector size %d; hw sector is %d\n"
+-msgstr "niedozwolony rozmiar sektora %d; sektor sprzętowy ma %d\n"
++msgid "        blkno: %lld  len: %d  boff: %d\n"
++msgstr "        blkno: %lld  len: %d  boff: %d\n"
+-#: .././mkfs/xfs_mkfs.c:1723
++#: .././logprint/log_misc.c:661
+ #, c-format
+-msgid "illegal log sector size %d\n"
+-msgstr "niedozwolony rozmiar sektora logu %d\n"
++msgid "INODE: #regs: %d   Not printing rest of data\n"
++msgstr "I-WĘZEŁ: #regs: %d   Bez wypisywania reszty danych\n"
+-#: .././mkfs/xfs_mkfs.c:1733
++#: .././logprint/log_misc.c:692
+ #, c-format
+-msgid "illegal directory block size %d\n"
+-msgstr "niedozwolony rozmiar bloku katalogu %d\n"
++msgid "DEV inode: no extra region\n"
++msgstr "I-węzeł DEV: brak dodatkowego regionu\n"
+-#: .././mkfs/xfs_mkfs.c:1747
++#: .././logprint/log_misc.c:695
+ #, c-format
+-msgid "both -d agcount= and agsize= specified, use one or the other\n"
+-msgstr "podano jednocześnie -d agcount= i agsize=, można użyć tylko jednej z tych opcji\n"
++msgid "UUID inode: no extra region\n"
++msgstr "I-węzeł UUID: brak dodatkowego regionu\n"
+-#: .././mkfs/xfs_mkfs.c:1753
++#: .././logprint/log_misc.c:712
+ #, c-format
+-msgid "if -d file then -d name and -d size are required\n"
+-msgstr "jeśli podano -d file, to -d name i -d size są wymagane\n"
++msgid "EXTENTS inode data\n"
++msgstr "EKSTENTY danych i-węzła\n"
+-#: .././mkfs/xfs_mkfs.c:1762
++#: .././logprint/log_misc.c:715
+ #, c-format
+-msgid "illegal data length %lld, not a multiple of %d\n"
+-msgstr "niedozwolona długość danych %lld, nie jest wielokrotnością %d\n"
++msgid "BTREE inode data\n"
++msgstr "B-DRZEWO danych i-węzła\n"
+-#: .././mkfs/xfs_mkfs.c:1768
++#: .././logprint/log_misc.c:718
+ #, c-format
+-msgid "warning: data length %lld not a multiple of %d, truncated to %lld\n"
+-msgstr "uwaga: długość danych %lld nie jest wielokrotnością %d, ucięto do %lld\n"
++msgid "LOCAL inode data\n"
++msgstr "LOKALNE dane i-węzła\n"
+-#: .././mkfs/xfs_mkfs.c:1782
++#: .././logprint/log_misc.c:739
+ #, c-format
+-msgid "if -l file then -l name and -l size are required\n"
+-msgstr "jeśli podano -l file to -l name i -l size są wymagane\n"
++msgid "EXTENTS attr data\n"
++msgstr "EKSTENTY danych atrybutów\n"
+-#: .././mkfs/xfs_mkfs.c:1791
++#: .././logprint/log_misc.c:742
+ #, c-format
+-msgid "illegal log length %lld, not a multiple of %d\n"
+-msgstr "niedozwolona długość logu %lld, nie jest wielokrotnością %d\n"
++msgid "BTREE attr data\n"
++msgstr "B-DRZEWO danych atrybutów\n"
+-#: .././mkfs/xfs_mkfs.c:1798
++#: .././logprint/log_misc.c:745
+ #, c-format
+-msgid "warning: log length %lld not a multiple of %d, truncated to %lld\n"
+-msgstr "uwaga: długość logu %lld nie jest wielokrotnością %d, ucięto do %lld\n"
++msgid "LOCAL attr data\n"
++msgstr "LOKALNE dane atrybutów\n"
+-#: .././mkfs/xfs_mkfs.c:1804
++#: .././logprint/log_misc.c:783
+ #, c-format
+-msgid "if -r file then -r name and -r size are required\n"
+-msgstr "jeśli podano -r file, to -r name i -r size są wymagane\n"
++msgid "#regs: %d   id: 0x%x"
++msgstr "#regs: %d   id: 0x%x"
+-#: .././mkfs/xfs_mkfs.c:1813
++#: .././logprint/log_misc.c:784
+ #, c-format
+-msgid "illegal rt length %lld, not a multiple of %d\n"
+-msgstr "niedozwolona długość rt %lld, nie jest wielokrotnością %d\n"
++msgid "  blkno: %lld  len: %d  boff: %d\n"
++msgstr "  blkno: %lld  len: %d  boff: %d\n"
+-#: .././mkfs/xfs_mkfs.c:1820
++#: .././logprint/log_misc.c:788
+ #, c-format
+-msgid "warning: rt length %lld not a multiple of %d, truncated to %lld\n"
+-msgstr "uwaga: długość rt %lld nie jest wielokrotnością %d, ucięto do %lld\n"
++msgid "DQUOT: #regs: %d   Not printing rest of data\n"
++msgstr "DQUOT: #regs: %d   Bez wypisywania reszty danych\n"
+-#: .././mkfs/xfs_mkfs.c:1833
++#: .././logprint/log_misc.c:807
+ #, c-format
+-msgid "illegal rt extent size %lld, not a multiple of %d\n"
+-msgstr "niedozwolony rozmiar ekstentu rt %lld, nie jest wielokrotnością %d\n"
++msgid "DQUOT: magic 0x%hx flags 0%ho\n"
++msgstr "DQUOT: magic 0x%hx flags 0%ho\n"
+-#: .././mkfs/xfs_mkfs.c:1839
++#: .././logprint/log_misc.c:833
+ #, c-format
+-msgid "rt extent size %s too large, maximum %d\n"
+-msgstr "rozmiar ekstentu rt %s zbyt duży, maksimum to %d\n"
++msgid "ICR: split header, not printing\n"
++msgstr "ICR: nagłówek podzielony, bez wypisywania\n"
+-#: .././mkfs/xfs_mkfs.c:1845
++#: .././logprint/log_misc.c:837
+ #, c-format
+-msgid "rt extent size %s too small, minimum %d\n"
+-msgstr "rozmiar ekstentu rt %s zbyt mały, minimum to %d\n"
++msgid ""
++"ICR:  #ag: %d  agbno: 0x%x  len: %d\n"
++"      cnt: %d  isize: %d    gen: 0x%x\n"
++msgstr ""
++"ICR:  #ag: %d  agbno: 0x%x  len: %d\n"
++"      cnt: %d  isize: %d    gen: 0x%x\n"
+-#: .././mkfs/xfs_mkfs.c:1890
++#: .././logprint/log_misc.c:863
+ #, c-format
+-msgid "illegal inode size %d\n"
+-msgstr "niedozwolony rozmiar i-węzła %d\n"
++msgid "%s: lseek64 to %lld failed: %s\n"
++msgstr "%s: lseek64 na %lld nie powiodło się: %s\n"
+-#: .././mkfs/xfs_mkfs.c:1895
++#: .././logprint/log_misc.c:909
+ #, c-format
+-msgid "allowable inode size with %d byte blocks is %d\n"
+-msgstr "dozwolony rozmiar i-węzła przy blokach %d-bajtowych to %d\n"
++msgid "%s: xlog_print_record: malloc failed\n"
++msgstr "%s: xlog_print_record: malloc nie powiodło się\n"
+-#: .././mkfs/xfs_mkfs.c:1899
++#: .././logprint/log_misc.c:918
+ #, c-format
+-msgid "allowable inode size with %d byte blocks is between %d and %d\n"
+-msgstr "dozwolone rozmiary i-węzła przy blokach %d-bajtowych są od %d do %d\n"
++msgid "%s: xlog_print_record: read error\n"
++msgstr "%s: xlog_print_record: błąd odczytu\n"
+-#: .././mkfs/xfs_mkfs.c:1907
++#: .././logprint/log_misc.c:1013 .././logprint/log_misc.c:1083
+ #, c-format
+-msgid "log stripe unit specified, using v2 logs\n"
+-msgstr "podano jednostkę pasa logu, użyto logów v2\n"
++msgid "Left over region from split log item\n"
++msgstr "Region pozostały z podziału elementu logu\n"
+-#: .././mkfs/xfs_mkfs.c:1922
++#: .././logprint/log_misc.c:1068
+ #, c-format
+-msgid "no device name given in argument list\n"
+-msgstr "nie podano nazwy urządzenia w liście argumentów\n"
++msgid "Unmount filesystem\n"
++msgstr "Niezamontowany system plików\n"
+-#: .././mkfs/xfs_mkfs.c:1947
++#: .././logprint/log_misc.c:1075
+ #, c-format
+-msgid "%s: Use the -f option to force overwrite.\n"
+-msgstr "%s: Można użyć opcji -f do wymuszenia nadpisania.\n"
++msgid "%s: unknown log operation type (%x)\n"
++msgstr "%s: nieznany typ operacji w logu (%x)\n"
+-#: .././mkfs/xfs_mkfs.c:1966
+-msgid "internal log"
+-msgstr "log wewnętrzny"
++#: .././logprint/log_misc.c:1116
++#, c-format
++msgid "Header 0x%x wanted 0x%x\n"
++msgstr "Nagłówek 0x%x, pożądany 0x%x\n"
+-#: .././mkfs/xfs_mkfs.c:1968
+-msgid "volume log"
+-msgstr "log na wolumenie"
++#: .././logprint/log_misc.c:1130
++#, c-format
++msgid "cycle: %d\tversion: %d\t"
++msgstr "cykl: %d\twersja: %d\t"
+-#: .././mkfs/xfs_mkfs.c:1970
++#: .././logprint/log_misc.c:1136
+ #, c-format
+-msgid "no log subvolume or internal log\n"
+-msgstr "brak podwolumenu logu ani logu wewnętrznego\n"
++msgid "length of Log Record: %d\tprev offset: %d\t\tnum ops: %d\n"
++msgstr "długość rekordu logu: %d\tpoprz.offset: %d\t\tl.oper.: %d\n"
+-#: .././mkfs/xfs_mkfs.c:1977
+-msgid "volume rt"
+-msgstr "wolumen rt"
++#: .././logprint/log_misc.c:1142 .././logprint/log_misc.c:1184
++#, c-format
++msgid "cycle num overwrites: "
++msgstr "liczba nadpisań cyklu: "
+-#: .././mkfs/xfs_mkfs.c:1979 .././logprint/log_misc.c:152
+-#: .././growfs/xfs_growfs.c:86 .././db/io.c:157
++#: .././logprint/log_misc.c:1151
+ #, c-format
+-msgid "none"
+-msgstr "brak"
++msgid "uuid: %s   format: "
++msgstr "uuid: %s   format: "
+-#: .././mkfs/xfs_mkfs.c:1982
++#: .././logprint/log_misc.c:1154
+ #, c-format
+-msgid "size %s specified for data subvolume is too large, maximum is %lld blocks\n"
+-msgstr "rozmiar %s podany dla podwolumenu danych jest zbyt duży, maksimum to %lld bloków\n"
++msgid "unknown\n"
++msgstr "nieznany\n"
+-#: .././mkfs/xfs_mkfs.c:1989
++#: .././logprint/log_misc.c:1157
+ #, c-format
+-msgid "can't get size of data subvolume\n"
+-msgstr "nie można pobrać rozmiaru podwolumenu danych\n"
++msgid "little endian linux\n"
++msgstr "Linux little endian\n"
+-#: .././mkfs/xfs_mkfs.c:1994
++#: .././logprint/log_misc.c:1160
+ #, c-format
+-msgid "size %lld of data subvolume is too small, minimum %d blocks\n"
+-msgstr "rozmiar %lld dla podwolumenu danych jest zbyt mały, minimum to %d bloków\n"
++msgid "big endian linux\n"
++msgstr "Linux big endian\n"
+-#: .././mkfs/xfs_mkfs.c:2001
++#: .././logprint/log_misc.c:1163
+ #, c-format
+-msgid "can't have both external and internal logs\n"
+-msgstr "nie można mieć jednocześnie zewnętrznego i wewnętrznego logu\n"
++msgid "big endian irix\n"
++msgstr "IRIX big endian\n"
+-#: .././mkfs/xfs_mkfs.c:2005
++#: .././logprint/log_misc.c:1169
+ #, c-format
+-msgid "data and log sector sizes must be equal for internal logs\n"
+-msgstr "rozmiary sektora danych i logu muszą być równe dla logów wewnętrznych\n"
++msgid "h_size: %d\n"
++msgstr "h_size: %d\n"
+-#: .././mkfs/xfs_mkfs.c:2011
++#: .././logprint/log_misc.c:1181
+ #, c-format
+-msgid ""
+-"Warning: the data subvolume sector size %u is less than the sector size \n"
+-"reported by the device (%u).\n"
+-msgstr ""
+-"Uwaga: rozmiar sektora podwolumenu danych %u jest mniejszy od rozmiaru\n"
+-"sektora zgłaszanego przez urządzenie (%u).\n"
++msgid "extended-header: cycle: %d\n"
++msgstr "nagłówek-rozszerzony: cykl: %d\n"
+-#: .././mkfs/xfs_mkfs.c:2017
++#: .././logprint/log_misc.c:1197
+ #, c-format
+-msgid ""
+-"Warning: the log subvolume sector size %u is less than the sector size\n"
+-"reported by the device (%u).\n"
+-msgstr ""
+-"Uwaga: rozmiar sektora podwolumenu logu %u jest mniejszy od rozmiaru\n"
+-"sektora zgłaszanego przez urządzenie (%u).\n"
++msgid "* ERROR: found data after zeroed blocks block=%-21lld  *\n"
++msgstr "* BŁĄD: znaleziono dane za wyzerowanymi blokami blok=%-21lld  *\n"
++
++#: .././logprint/log_misc.c:1208
++#, c-format
++msgid "* ERROR: header cycle=%-11d block=%-21lld        *\n"
++msgstr "* BŁĄD: nagłówek cykl=%-11d blok=%-21lld                *\n"
++
++#: .././logprint/log_misc.c:1219
++#, c-format
++msgid "* ERROR: data block=%-21lld                             *\n"
++msgstr "* BŁĄD: blok danych=%-21lld                                   *\n"
+-#: .././mkfs/xfs_mkfs.c:2023
++#: .././logprint/log_misc.c:1230
+ #, c-format
+ msgid ""
+-"Warning: the realtime subvolume sector size %u is less than the sector size\n"
+-"reported by the device (%u).\n"
++"* ERROR: for header block=%lld\n"
++"*        not enough hdrs for data length, required num = %d, hdr num = %d\n"
+ msgstr ""
+-"Uwaga: rozmiar sektora podwolumenu realtime %u jest mniejszy od rozmiaru\n"
+-"sektora zgłaszanego przez urządzenie (%u).\n"
++"* BŁĄD: dla bloku nagłówka %lld\n"
++"*       za mało nagłówków dla długości danych, wymaganych = %d, liczba = %d\n"
++
++#: .././logprint/log_misc.c:1236
++msgid "Not enough headers for data length."
++msgstr "Za mało nagłówków dla długości danych."
+-#: .././mkfs/xfs_mkfs.c:2037
++#: .././logprint/log_misc.c:1246
+ #, c-format
+-msgid "size %s specified for log subvolume is too large, maximum is %lld blocks\n"
+-msgstr "rozmiar %s podany dla podwolumenu logu jest zbyt duży, maksimum to %lld bloków\n"
++msgid "%s: xlog_print: malloc failed for ext hdrs\n"
++msgstr "%s: xlog_print: malloc dla rozszerzonych nagłówków nie powiódł się\n"
+-#: .././mkfs/xfs_mkfs.c:2044
++#: .././logprint/log_misc.c:1292 .././logprint/log_misc.c:1368
++#: .././logprint/log_misc.c:1439 .././logprint/log_misc.c:1476
+ #, c-format
+-msgid "size specified for non-existent log subvolume\n"
+-msgstr "podano rozmiar dla nie istniejącego podwolumenu logu\n"
++msgid "%s: physical end of log\n"
++msgstr "%s: fizyczny koniec logu\n"
+-#: .././mkfs/xfs_mkfs.c:2047
++#: .././logprint/log_misc.c:1298 .././logprint/log_misc.c:1373
++#: .././logprint/log_misc.c:1491
+ #, c-format
+-msgid "size %lld too large for internal log\n"
+-msgstr "rozmiar %lld jest zbyt duży dla logu wewnętrznego\n"
++msgid "BLKNO: %lld\n"
++msgstr "BLKNO: %lld\n"
+-#: .././mkfs/xfs_mkfs.c:2074
++#: .././logprint/log_misc.c:1356
+ #, c-format
+-msgid "size %s specified for rt subvolume is too large, maximum is %lld blocks\n"
+-msgstr "rozmiar %s podany dla podwolumenu rt jest zbyt duży, maksimum to %lld bloków\n"
++msgid "%s: problem finding oldest LR\n"
++msgstr "%s: problem ze znalezieniem najstarszego rekordu logu\n"
+-#: .././mkfs/xfs_mkfs.c:2082
++#: .././logprint/log_misc.c:1382
+ #, c-format
+-msgid "size specified for non-existent rt subvolume\n"
+-msgstr "podano rozmiar dla nie istniejącego podwolumenu rt\n"
++msgid "%s: after %d zeroed blocks\n"
++msgstr "%s: po %d wyzerowanych blokach\n"
++
++#: .././logprint/log_misc.c:1451
++msgid "illegal value"
++msgstr "niedozwolona wartość"
+-#: .././mkfs/xfs_mkfs.c:2099
++#: .././logprint/log_misc.c:1457
+ #, c-format
+-msgid "agsize (%lld) not a multiple of fs blk size (%d)\n"
+-msgstr "agsize (%lld) nie jest wielokrotnością rozmiaru bloku systemu plików (%d)\n"
++msgid "%s: skipped %d cleared blocks in range: %lld - %lld\n"
++msgstr "%s: pominięto %d wyzerowanych bloków w przedziale: %lld - %lld\n"
+-#: .././mkfs/xfs_mkfs.c:2116
++#: .././logprint/log_misc.c:1462
+ #, c-format
+-msgid "%s: Specified data stripe unit %d is not the same as the volume stripe unit %d\n"
+-msgstr "%s: Podana jednostka pasa danych %d nie jest taka sama jak jednostka pasa wolumenu %d\n"
++msgid "%s: totally cleared log\n"
++msgstr "%s: całkowicie wyczyszczony log\n"
+-#: .././mkfs/xfs_mkfs.c:2123
++#: .././logprint/log_misc.c:1467
+ #, c-format
+-msgid "%s: Specified data stripe width %d is not the same as the volume stripe width %d\n"
+-msgstr "%s: Podana szerokość pasa danych %d nie jest taka sama jak szerokość pasa wolumenu %d\n"
++msgid "%s: skipped %d zeroed blocks in range: %lld - %lld\n"
++msgstr "%s: pominięto %d wyzerowanych bloków w przedziale %lld - %lld\n"
+-#: .././mkfs/xfs_mkfs.c:2171
++#: .././logprint/log_misc.c:1472
+ #, c-format
+-msgid "agsize rounded to %lld, swidth = %d\n"
+-msgstr "agsize zaokrąglone do %lld, swidth = %d\n"
++msgid "%s: totally zeroed log\n"
++msgstr "%s: całkowicie wyzerowany log\n"
++
++#: .././logprint/log_misc.c:1488
++msgid "xlog_find_head: bad read"
++msgstr "xlog_find_head: błędny odczyt"
+-#: .././mkfs/xfs_mkfs.c:2178
++#: .././logprint/log_misc.c:1540
+ #, c-format
+-msgid "Allocation group size (%lld) is not a multiple of the stripe unit (%d)\n"
+-msgstr "Rozmiar grupy alokacji (%lld) nie jest wielokrotnością jednostki pasa (%d)\n"
++msgid "%s: logical end of log\n"
++msgstr "%s: logiczny koniec logu\n"
+-#: .././mkfs/xfs_mkfs.c:2200
++#: .././logprint/log_misc.c:1636
+ #, c-format
+-msgid ""
+-"Warning: AG size is a multiple of stripe width.  This can cause performance\n"
+-"problems by aligning all AGs on the same disk.  To avoid this, run mkfs with\n"
+-"an AG size that is one stripe unit smaller, for example %llu.\n"
+-msgstr ""
+-"Uwaga: rozmiar AG jest wielokrotnością szerokości pasa. Może to spowodować\n"
+-"problemy z wydajnością poprzez wyrównanie wszystkich AG na tym samym dysku.\n"
+-"Aby temu zapobiec, należy uruchomić mkfs z rozmiarem AG o jedną jednostkę\n"
+-"pasa mniejszym, na przykład %llu.\n"
++msgid "%s: bad size of efi format: %u; expected %u or %u; nextents = %u\n"
++msgstr "%s: błędny rozmiar formatu efi: %u; oczekiwano %u lub %u; nextents = %u\n"
+-#: .././mkfs/xfs_mkfs.c:2225
++#: .././logprint/log_print_all.c:94
+ #, c-format
+-msgid "%s: Stripe unit(%d) or stripe width(%d) is not a multiple of the block size(%d)\n"
+-msgstr "%s: Jednostka pasa (%d) lub szerokość pasa (%d) nie jest wielokrotnością rozmiaru bloku (%d)\n"
++msgid "BUF:  #regs:%d   start blkno:0x%llx   len:%d   bmap size:%d   flags:0x%x\n"
++msgstr "BUF:  #regs:%d   blok pocz.:0x%llx  dług.:%d  rozm.bmapy:%d   flagi:0x%x\n"
+-#: .././mkfs/xfs_mkfs.c:2257
++#: .././logprint/log_print_all.c:104
+ #, c-format
+-msgid "log stripe unit (%d) must be a multiple of the block size (%d)\n"
+-msgstr "jednostka pasa logu (%d) musi być wielokrotnością rozmiaru bloku (%d)\n"
++msgid "\tSUPER Block Buffer:\n"
++msgstr "\tBufor SUPER bloku:\n"
+-#: .././mkfs/xfs_mkfs.c:2270
++#: .././logprint/log_print_all.c:107
+ #, c-format
+-msgid "log stripe unit (%d bytes) is too large (maximum is 256KiB)\n"
+-msgstr "jednostka pasa logu (%d bajtów) jest zbyt duża (maksimum to 256KiB)\n"
++msgid "              icount:%llu ifree:%llu  "
++msgstr "              icount:%llu ifree:%llu  "
+-#: .././mkfs/xfs_mkfs.c:2273
++#: .././logprint/log_print_all.c:112
+ #, c-format
+-msgid "log stripe unit adjusted to 32KiB\n"
+-msgstr "jednostka pasa logu zmodyfikowana na 32KiB\n"
++msgid "fdblks:%llu  frext:%llu\n"
++msgstr "fdblks:%llu  frext:%llu\n"
+-#: .././mkfs/xfs_mkfs.c:2298
++#: .././logprint/log_print_all.c:117
+ #, c-format
+-msgid "internal log size %lld too large, must fit in allocation group\n"
+-msgstr "rozmiar wewnętrznego logu %lld zbyt duży, musi się zmieścić w grupie alokacji\n"
++msgid "\t\tsunit:%u  swidth:%u\n"
++msgstr "\t\tsunit:%u  swidth:%u\n"
+-#: .././mkfs/xfs_mkfs.c:2305
++#: .././logprint/log_print_all.c:123
+ #, c-format
+-msgid "log ag number %d too large, must be less than %lld\n"
+-msgstr "liczba ag logu %d zbyt duża, musi być mniejsza niż %lld\n"
++msgid "\tAGI Buffer: (XAGI)\n"
++msgstr "\tBufor AGI: (XAGI)\n"
+-#: .././mkfs/xfs_mkfs.c:2335
++#: .././logprint/log_print_all.c:126
+ #, c-format
+-msgid ""
+-"meta-data=%-22s isize=%-6d agcount=%lld, agsize=%lld blks\n"
+-"         =%-22s sectsz=%-5u attr=%u, projid32bit=%u\n"
+-"data     =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n"
+-"         =%-22s sunit=%-6u swidth=%u blks\n"
+-"naming   =version %-14u bsize=%-6u ascii-ci=%d\n"
+-"log      =%-22s bsize=%-6d blocks=%lld, version=%d\n"
+-"         =%-22s sectsz=%-5u sunit=%d blks, lazy-count=%d\n"
+-"realtime =%-22s extsz=%-6d blocks=%lld, rtextents=%lld\n"
+-msgstr ""
+-"metadane=%-22s isize=%-6d agcount=%lld, agsize=%lld bloków\n"
+-"        =%-22s sectsz=%-5u attr=%u, projid32bit=%u\n"
+-"dane    =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n"
+-"        =%-22s sunit=%-6u swidth=%u bloków\n"
+-"nazwy   =wersja %-14u bsize=%-6u ascii-ci=%d\n"
+-"log     =%-22s bsize=%-6d blocks=%lld, wersja=%d\n"
+-"        =%-22s sectsz=%-5u sunit=%d bloków, lazy-count=%d\n"
+-"realtime=%-22s extsz=%-6d blocks=%lld, rtextents=%lld\n"
++msgid "\t\tver:%d  "
++msgstr "\t\twersja:%d  "
+-#: .././mkfs/xfs_mkfs.c:2451
++#: .././logprint/log_print_all.c:128
+ #, c-format
+-msgid "%s: Growing the data section failed\n"
+-msgstr "%s: Powiększenie sekcji danych nie powiodło się\n"
++msgid "seq#:%d  len:%d  cnt:%d  root:%d\n"
++msgstr "seq#:%d  len:%d  cnt:%d  root:%d\n"
+-#: .././mkfs/xfs_mkfs.c:2481
++#: .././logprint/log_print_all.c:133
+ #, c-format
+-msgid "%s: filesystem failed to initialize\n"
+-msgstr "%s: nie udało się zainicjować systemu plików\n"
++msgid "\t\tlevel:%d  free#:0x%x  newino:0x%x\n"
++msgstr "\t\tlevel:%d  free#:0x%x  newino:0x%x\n"
+-#: .././mkfs/xfs_mkfs.c:2693
++#: .././logprint/log_print_all.c:157
+ #, c-format
+-msgid "%s: root inode created in AG %u, not AG 0\n"
+-msgstr "%s: główny i-węzeł utworzony w AG %u, nie AG 0\n"
++msgid "\tAGF Buffer: (XAGF)\n"
++msgstr "\tBufor AGI: (XAGF)\n"
+-#: .././mkfs/xfs_mkfs.c:2760
++#: .././logprint/log_print_all.c:160
+ #, c-format
+-msgid "Cannot specify both -%c %s and -%c %s\n"
+-msgstr "Nie można podać jednocześnie -%c %s i %c %s\n"
++msgid "\t\tver:%d  seq#:%d  len:%d  \n"
++msgstr "\t\tver:%d  seq#:%d  len:%d  \n"
+-#: .././mkfs/xfs_mkfs.c:2771
++#: .././logprint/log_print_all.c:164
+ #, c-format
+-msgid "Illegal value %s for -%s option\n"
+-msgstr "Niedozwolona wartość %s dla opcji -%s\n"
++msgid "\t\troot BNO:%d  CNT:%d\n"
++msgstr "\t\troot BNO:%d  CNT:%d\n"
+-#: .././mkfs/xfs_mkfs.c:2788
++#: .././logprint/log_print_all.c:167
+ #, c-format
+-msgid "-%c %s option requires a value\n"
+-msgstr "Opcja -%c %s wymaga wartości\n"
++msgid "\t\tlevel BNO:%d  CNT:%d\n"
++msgstr "\t\tlevel BNO:%d  CNT:%d\n"
+-#: .././mkfs/xfs_mkfs.c:2849
++#: .././logprint/log_print_all.c:170
+ #, c-format
+-msgid "blocksize not available yet.\n"
+-msgstr "rozmiar bloku jeszcze nie dostępny.\n"
++msgid "\t\t1st:%d  last:%d  cnt:%d  freeblks:%d  longest:%d\n"
++msgstr "\t\t1st:%d  last:%d  cnt:%d  freeblks:%d  longest:%d\n"
+-#: .././mkfs/xfs_mkfs.c:2875
++#: .././logprint/log_print_all.c:179
+ #, c-format
+-msgid ""
+-"Usage: %s\n"
+-"/* blocksize */\t\t[-b log=n|size=num]\n"
+-"/* data subvol */\t[-d agcount=n,agsize=n,file,name=xxx,size=num,\n"
+-"\t\t\t    (sunit=value,swidth=value|su=num,sw=num),\n"
+-"\t\t\t    sectlog=n|sectsize=num\n"
+-"/* inode size */\t[-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2,\n"
+-"\t\t\t    projid32bit=0|1]\n"
+-"/* log subvol */\t[-l agnum=n,internal,size=num,logdev=xxx,version=n\n"
+-"\t\t\t    sunit=value|su=num,sectlog=n|sectsize=num,\n"
+-"\t\t\t    lazy-count=0|1]\n"
+-"/* label */\t\t[-L label (maximum 12 characters)]\n"
+-"/* naming */\t\t[-n log=n|size=num,version=2|ci]\n"
+-"/* prototype file */\t[-p fname]\n"
+-"/* quiet */\t\t[-q]\n"
+-"/* realtime subvol */\t[-r extsize=num,size=num,rtdev=xxx]\n"
+-"/* sectorsize */\t[-s log=n|size=num]\n"
+-"/* version */\t\t[-V]\n"
+-"\t\t\tdevicename\n"
+-"<devicename> is required unless -d name=xxx is given.\n"
+-"<num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),\n"
+-"      xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).\n"
+-"<value> is xxx (512 byte blocks).\n"
+-msgstr ""
+-"Składnia: %s\n"
+-"/* rozmiar bloku */     [-b log=n|size=liczba]\n"
+-"/* podwolumen danych */ [-d agcount=n,agsize=n,file,name=xxx,size=liczba,\n"
+-"                           (sunit=wartość,swidth=wartość|su=liczba,sw=liczba),\n"
+-"                           sectlog=n|sectsize=liczba]\n"
+-"/* rozmiar i-węzła */   [-i log=n|perblock=n|size=liczba,maxpct=n,attr=0|1|2,\n"
+-"                           projid32bit=0|1]\n"
+-"/* podwolumen logu */   [-l agnum=n,internal,size=liczba,logdev=xxx,version=n\n"
+-"                           sunit=wartość|su=liczba,sectlog=n|sectsize=liczba,\n"
+-"                           lazy-count=0|1]\n"
+-"/* etykieta */          [-L etykieta (maksymalnie 12 znaków)]\n"
+-"/* nazwy */             [-n log=n|size=liczba,wersja=2|ci]\n"
+-"/* plik prototypu */    [-p nazwa_pliku]\n"
+-"/* cisza */             [-q]\n"
+-"/* podwolumen rt */     [-r extsize=liczba,size=liczba,rtdev=xxx]\n"
+-"/* rozmiar sektora */   [-s log=n|size=liczba]\n"
+-"/* wersja */            [-V]\n"
+-"                        nazwa_urządzenia\n"
+-"<nazwa_urządzenia> jest wymagana, chyba że podano -d name=xxx.\n"
+-"<liczba> to xxx (bajtów), xxxs (sektorów), xxxb (bloków systemu plików),\n"
+-"         xxxk (xxx KiB), xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB),\n"
+-"         xxxp (xxx PiB).\n"
+-"<wartość> to xxx (512-bajtowych bloków).\n"
++msgid "\tDQUOT Buffer:\n"
++msgstr "\tBufor DQUOT:\n"
+-#: .././logprint/log_copy.c:44 .././logprint/log_dump.c:43
++#: .././logprint/log_print_all.c:182
+ #, c-format
+-msgid "%s: read error (%lld): %s\n"
+-msgstr "%s: błąd odczytu (%lld): %s\n"
++msgid "\t\tUIDs 0x%lx-0x%lx\n"
++msgstr "\t\tUIDs 0x%lx-0x%lx\n"
+-#: .././logprint/log_copy.c:49 .././logprint/log_dump.c:48
++#: .././logprint/log_print_all.c:187
+ #, c-format
+-msgid "%s: physical end of log at %lld\n"
+-msgstr "%s: fizyczny koniec logu na %lld\n"
++msgid "\tBUF DATA\n"
++msgstr "\tDANE BUF\n"
+-#: .././logprint/log_copy.c:53
++#: .././logprint/log_print_all.c:209
+ #, c-format
+-msgid "%s: short read? (%lld)\n"
+-msgstr "%s: skrócony odczyt? (%lld)\n"
++msgid "\tQUOTAOFF: #regs:%d   type:%s\n"
++msgstr "\tQUOTAOFF: #regs:%d   type:%s\n"
+-#: .././logprint/log_copy.c:60
++#: .././logprint/log_print_all.c:224
+ #, c-format
+-msgid "%s: write error (%lld): %s\n"
+-msgstr "%s: błąd zapisu (%lld): %s\n"
++msgid "\tDQUOT: #regs:%d  blkno:%lld  boffset:%u id: %d\n"
++msgstr "\tDQUOT: #regs:%d  blkno:%lld  boffset:%u id: %d\n"
+-#: .././logprint/log_copy.c:65
++#: .././logprint/log_print_all.c:228
+ #, c-format
+-msgid "%s: short write? (%lld)\n"
+-msgstr "%s: skrócony zapis? (%lld)\n"
++msgid "\t\tmagic 0x%x\tversion 0x%x\tID 0x%x (%d)\t\n"
++msgstr "\t\tmagic 0x%x\twersja 0x%x\tID 0x%x (%d)\t\n"
+-#: .././logprint/log_dump.c:56
++#: .././logprint/log_print_all.c:233
+ #, c-format
+-msgid "%6lld HEADER Cycle %d tail %d:%06d len %6d ops %d\n"
+-msgstr "%6lld NAGŁÓWEK Cykl %d koniec %d:%06d len %6d ops %d\n"
++msgid "\t\tblk_hard 0x%x\tblk_soft 0x%x\tino_hard 0x%x\tino_soft 0x%x\n"
++msgstr "\t\tblk_hard 0x%x\tblk_soft 0x%x\tino_hard 0x%x\tino_soft 0x%x\n"
+-#: .././logprint/log_dump.c:67
++#: .././logprint/log_print_all.c:239
+ #, c-format
+-msgid "[%05lld - %05lld] Cycle 0x%08x New Cycle 0x%08x\n"
+-msgstr "[%05lld - %05lld] Cykl 0x%08x Nowy cykl 0x%08x\n"
++msgid "\t\tbcount 0x%x (%d) icount 0x%x (%d)\n"
++msgstr "\t\tbcount 0x%x (%d) icount 0x%x (%d)\n"
+-#: .././logprint/logprint.c:42
++#: .././logprint/log_print_all.c:244
+ #, c-format
+-msgid ""
+-"Usage: %s [options...] <device>\n"
+-"\n"
+-"Options:\n"
+-"    -c\t            try to continue if error found in log\n"
+-"    -C <filename>   copy the log from the filesystem to filename\n"
+-"    -d\t            dump the log in log-record format\n"
+-"    -f\t            specified device is actually a file\n"
+-"    -l <device>     filename of external log\n"
+-"    -n\t            don't try and interpret log data\n"
+-"    -o\t            print buffer data in hex\n"
+-"    -s <start blk>  block # to start printing\n"
+-"    -v              print \"overwrite\" data\n"
+-"    -t\t            print out transactional view\n"
+-"\t-b          in transactional view, extract buffer info\n"
+-"\t-i          in transactional view, extract inode info\n"
++msgid "\t\tbtimer 0x%x itimer 0x%x \n"
++msgstr "\t\tbtimer 0x%x itimer 0x%x \n"
++
++#: .././logprint/log_print_all.c:253
++#, c-format
++msgid "\tCORE inode:\n"
++msgstr "\tGŁÓWNY i-węzeł:\n"
++
++#: .././logprint/log_print_all.c:256
++#, c-format
++msgid "\t\tmagic:%c%c  mode:0x%x  ver:%d  format:%d  onlink:%d\n"
++msgstr "\t\tmagic:%c%c  mode:0x%x  ver:%d  format:%d  onlin:%d\n"
++
++#: .././logprint/log_print_all.c:260
++#, c-format
++msgid "\t\tuid:%d  gid:%d  nlink:%d projid:%u\n"
++msgstr "\t\tuid:%d  gid:%d  nlink:%d projid:%u\n"
++
++#: .././logprint/log_print_all.c:262
++#, c-format
++msgid "\t\tatime:%d  mtime:%d  ctime:%d\n"
++msgstr "\t\tatime:%d  mtime:%d  ctime:%d\n"
++
++#: .././logprint/log_print_all.c:264
++#, c-format
++msgid "\t\tflushiter:%d\n"
++msgstr "\t\tflushiter:%d\n"
++
++#: .././logprint/log_print_all.c:265
++#, c-format
++msgid "\t\tsize:0x%llx  nblks:0x%llx  exsize:%d  nextents:%d  anextents:%d\n"
++msgstr "\t\tsize:0x%llx  nblks:0x%llx  exsize:%d  nextents:%d  anextents:%d\n"
++
++#: .././logprint/log_print_all.c:269
++#, c-format
++msgid "\t\tforkoff:%d  dmevmask:0x%x  dmstate:%d  flags:0x%x  gen:%d\n"
++msgstr "\t\tforkoff:%d  dmevmask:0x%x  dmstate:%d  flags:0x%x  gen:%d\n"
++
++#: .././logprint/log_print_all.c:289
++#, c-format
++msgid "\tINODE: #regs:%d   ino:0x%llx  flags:0x%x   dsize:%d\n"
++msgstr "\tINODE: #regs:%d   ino:0x%llx  flags:0x%x   dsize:%d\n"
++
++#: .././logprint/log_print_all.c:305
++#, c-format
++msgid "\t\tDATA FORK EXTENTS inode data:\n"
++msgstr "\t\tDane EKSTENTÓW GAŁĘZI DANYCH i-węzła:\n"
++
++#: .././logprint/log_print_all.c:312
++#, c-format
++msgid "\t\tDATA FORK BTREE inode data:\n"
++msgstr "\t\tDane B-DRZEWA GAŁĘZI DANYCH i-węzła:\n"
++
++#: .././logprint/log_print_all.c:319
++#, c-format
++msgid "\t\tDATA FORK LOCAL inode data:\n"
++msgstr "\t\tDane LOKALNE GAŁĘZI DANYCH i-węzła:\n"
++
++#: .././logprint/log_print_all.c:326
++#, c-format
++msgid "\t\tDEV inode: no extra region\n"
++msgstr "\t\tI-węzeł DEV: brak dodatkowego regionu\n"
++
++#: .././logprint/log_print_all.c:330
++#, c-format
++msgid "\t\tUUID inode: no extra region\n"
++msgstr "\t\tI-węzeł UUID: brak dodatkowego regionu\n"
++
++#: .././logprint/log_print_all.c:345
++#, c-format
++msgid "\t\tATTR FORK EXTENTS inode data:\n"
++msgstr "\t\tDane EKSTENTÓW GAŁĘZI ATRYBUTÓW i-węzła:\n"
++
++#: .././logprint/log_print_all.c:353
++#, c-format
++msgid "\t\tATTR FORK BTREE inode data:\n"
++msgstr "\t\tDane B-DRZEWA GAŁĘZI ATRYBUTÓW i-węzła:\n"
++
++#: .././logprint/log_print_all.c:361
++#, c-format
++msgid "\t\tATTR FORK LOCAL inode data:\n"
++msgstr "\t\tDane LOKALNE GAŁĘZI ATRYBUTÓW i-węzła:\n"
++
++#: .././logprint/log_print_all.c:386
++#, c-format
++msgid "\tEFD:  #regs: %d    num_extents: %d  id: 0x%llx\n"
++msgstr "\tEFD:  #regs: %d    num_extents: %d  id: 0x%llx\n"
++
++#: .././logprint/log_print_all.c:410
++#, c-format
++msgid "%s: xlog_recover_print_efi: malloc failed\n"
++msgstr "%s: xlog_recover_print_efi: malloc nie powiodło się\n"
++
++#: .././logprint/log_print_all.c:418
++#, c-format
++msgid "\tEFI:  #regs:%d    num_extents:%d  id:0x%llx\n"
++msgstr "\tEFI:  #regs:%d    num_extents:%d  id:0x%llx\n"
++
++#: .././logprint/log_print_all.c:442
++#, c-format
++msgid ""
++"\tICR:  #ag: %d  agbno: 0x%x  len: %d\n"
++"\t      cnt: %d  isize: %d    gen: 0x%x\n"
++msgstr ""
++"\tICR:  #ag: %d  agbno: 0x%x  len: %d\n"
++"\t      cnt: %d  isize: %d    gen: 0x%x\n"
++
++#: .././logprint/log_print_all.c:476
++#, c-format
++msgid "xlog_recover_print_logitem: illegal type\n"
++msgstr "xlog_recover_print_logitem: niedozwolony typ\n"
++
++#: .././logprint/log_print_all.c:510
++#, c-format
++msgid "%s: illegal type"
++msgstr "%s: niedozwolony typ"
++
++#: .././logprint/log_print_all.c:518
++#, c-format
++msgid ": cnt:%d total:%d "
++msgstr ": cnt:%d total:%d "
++
++#: .././logprint/log_print_all.c:520
++#, c-format
++msgid "a:0x%lx len:%d "
++msgstr "a:0x%lx len:%d "
++
++#: .././logprint/log_print_trans.c:25
++#, c-format
++msgid "TRANS: tid:0x%x  type:%s  #items:%d  trans:0x%x  q:0x%lx\n"
++msgstr "TRANS: tid:0x%x  typ:%s   #elem:%d   trans:0x%x  q:0x%lx\n"
++
++#: .././logprint/log_print_trans.c:51
++#, c-format
++msgid "%s: failed to find head and tail, error: %d\n"
++msgstr "%s: nie udało się odnaleźć początku ani końca, błąd: %d\n"
++
++#: .././logprint/log_print_trans.c:56
++#, c-format
++msgid "    log tail: %lld head: %lld state: %s\n"
++msgstr "    koniec logu: %lld początek: %lld stan: %s\n"
++
++#: .././logprint/log_print_trans.c:62
++#, c-format
++msgid "    override tail: %d\n"
++msgstr "    koniec override: %d\n"
++
++#: .././logprint/log_print_trans.c:82
++#, c-format
++msgid ""
++"Superblock has unknown incompatible log features (0x%x) enabled.\n"
++"Output may be incomplete or inaccurate. It is recommended that you\n"
++"upgrade your xfsprogs installation to match the filesystem features.\n"
++msgstr ""
++"Superblok ma włączone nieznane, niezgodne opcje logu (0x%x).\n"
++"Wyjście może być niekompletne lub niedokładne. Zalecana jest\n"
++"aktualizacja zainstalowanej wersji xfsprogs, aby zgadzała się z opcjami\n"
++"systemu plików.\n"
++
++#: .././logprint/log_print_trans.c:90
++#, c-format
++msgid "%s: failed in xfs_do_recovery_pass, error: %d\n"
++msgstr "%s: xfs_do_recovery_pass nie powiodło się, błąd: %d\n"
++
++#: .././logprint/logprint.c:42
++#, c-format
++msgid ""
++"Usage: %s [options...] <device>\n"
++"\n"
++"Options:\n"
++"    -c\t            try to continue if error found in log\n"
++"    -C <filename>   copy the log from the filesystem to filename\n"
++"    -d\t            dump the log in log-record format\n"
++"    -e\t            exit when an error is found in the log\n"
++"    -f\t            specified device is actually a file\n"
++"    -l <device>     filename of external log\n"
++"    -n\t            don't try and interpret log data\n"
++"    -o\t            print buffer data in hex\n"
++"    -s <start blk>  block # to start printing\n"
++"    -v              print \"overwrite\" data\n"
++"    -t\t            print out transactional view\n"
++"\t-b          in transactional view, extract buffer info\n"
++"\t-i          in transactional view, extract inode info\n"
+ "\t-q          in transactional view, extract quota info\n"
+ "    -D              print only data; no decoding\n"
+ "    -V              print version information\n"
+@@ -6630,6 +6909,7 @@ msgstr ""
+ "    -c             próba kontynuacji w przypadku błędu w logu\n"
+ "    -C <plik>      skopiowanie logu z systemu plików do pliku o podanej nazwie\n"
+ "    -d             zrzut logu w formacie jego rekordów\n"
++"    -e             zakończenie po napotkaniu błędu w logu\n"
+ "    -f             podane urządzenie jest plikiem\n"
+ "    -l <urządzenie>  nazwa pliku z logiem zewnętrznym\n"
+ "    -n             bez prób interpretacji danych logu\n"
+@@ -6643,17 +6923,17 @@ msgstr ""
+ "    -D             wypisywanie tylko danych, bez dekodowania\n"
+ "    -V             wypisanie informacji o wersji\n"
+-#: .././logprint/logprint.c:75
++#: .././logprint/logprint.c:76
+ #, c-format
+ msgid "    Can't open device %s: %s\n"
+ msgstr "    Nie można otworzyć urządzenia %s: %s\n"
+-#: .././logprint/logprint.c:81
++#: .././logprint/logprint.c:82
+ #, c-format
+ msgid "    read of XFS superblock failed\n"
+ msgstr "    odczyt superbloku XFS-a nie powiódł się\n"
+-#: .././logprint/logprint.c:97
++#: .././logprint/logprint.c:102
+ #, c-format
+ msgid ""
+ "    external log device not specified\n"
+@@ -6662,32 +6942,32 @@ msgstr ""
+ "    Nie podano urządzenia zewnętrznego loga\n"
+ "\n"
+-#: .././logprint/logprint.c:112
++#: .././logprint/logprint.c:118
+ #, c-format
+ msgid "Can't open file %s: %s\n"
+ msgstr "Nie można otworzyć pliku %s: %s\n"
+-#: .././logprint/logprint.c:212
++#: .././logprint/logprint.c:219
+ #, c-format
+ msgid "xfs_logprint:\n"
+ msgstr "xfs_logprint:\n"
+-#: .././logprint/logprint.c:220
++#: .././logprint/logprint.c:228
+ #, c-format
+ msgid "    data device: 0x%llx\n"
+ msgstr "    urządzenie danych: 0x%llx\n"
+-#: .././logprint/logprint.c:223
++#: .././logprint/logprint.c:231
+ #, c-format
+ msgid "    log file: \"%s\" "
+ msgstr "    plik logu: \"%s\" "
+-#: .././logprint/logprint.c:225
++#: .././logprint/logprint.c:233
+ #, c-format
+ msgid "    log device: 0x%llx "
+ msgstr "    urządzenie logu: 0x%llx "
+-#: .././logprint/logprint.c:228
++#: .././logprint/logprint.c:236
+ #, c-format
+ msgid ""
+ "daddr: %lld length: %lld\n"
+@@ -6696,6508 +6976,6083 @@ msgstr ""
+ "daddr: %lld długość: %lld\n"
+ "\n"
+-#: .././logprint/log_misc.c:132
+-#, c-format
+-msgid "Oper (%d): tid: %x  len: %d  clientid: %s  "
+-msgstr "Operacja (%d): tid: %x  len: %d  clientid: %s  "
+-
+-#: .././logprint/log_misc.c:137
++#: .././mkfs/proto.c:60
+ #, c-format
+-msgid "flags: "
+-msgstr "flagi: "
++msgid "%s: failed to open %s: %s\n"
++msgstr "%s: nie udało się otworzyć %s: %s\n"
+-#: .././logprint/log_misc.c:231
++#: .././mkfs/proto.c:67 .././mkfs/proto.c:301
+ #, c-format
+-msgid "   Not enough data to decode further\n"
+-msgstr "   Za mało danych do dalszego dekodowania\n"
++msgid "%s: read failed on %s: %s\n"
++msgstr "%s: odczyt nie powiódł się dla %s: %s\n"
+-#: .././logprint/log_misc.c:235
++#: .././mkfs/proto.c:72
+ #, c-format
+-msgid "    type: %s       tid: %x       num_items: %d\n"
+-msgstr "    typ: %s        tid: %x       num_items: %d\n"
++msgid "%s: proto file %s premature EOF\n"
++msgstr "%s: plik prototypu %s skończył się przedwcześnie\n"
+-#: .././logprint/log_misc.c:277
+-#, c-format
+-msgid "#regs: %d   start blkno: %lld (0x%llx)  len: %d  bmap size: %d  flags: 0x%x\n"
+-msgstr "#regs: %d   start blkno: %lld (0x%llx)  len: %d  bmap size: %d  flags: 0x%x\n"
++#: .././mkfs/proto.c:116
++msgid "cannot reserve space"
++msgstr "nie można zarezerwować miejsca"
+-#: .././logprint/log_misc.c:283
++#: .././mkfs/proto.c:171
+ #, c-format
+-msgid "#regs: %d   Not printing rest of data\n"
+-msgstr "#regs: %d   Bez wypisywania reszty danych\n"
++msgid "%s: premature EOF in prototype file\n"
++msgstr "%s: przedwczesny EOF w pliku prototypu\n"
+-#: .././logprint/log_misc.c:300
+-#, c-format
+-msgid "SUPER BLOCK Buffer: "
+-msgstr "Bufor SUPER BLOKU: "
++#: .././mkfs/proto.c:190
++msgid "error reserving space for a file"
++msgstr "błąd podczas rezerwowania miejsca na plik"
+-#: .././logprint/log_misc.c:302 .././logprint/log_misc.c:366
+-#: .././logprint/log_misc.c:392
+-#, c-format
+-msgid "Out of space\n"
+-msgstr "Brak miejsca na dysku\n"
++#: .././mkfs/proto.c:259
++msgid "error allocating space for a file"
++msgstr "błąd podczas przydzielania miejsca na plik"
+-#: .././logprint/log_misc.c:310
++#: .././mkfs/proto.c:263
+ #, c-format
+-msgid "icount: %llu  ifree: %llu  "
+-msgstr "icount: %llu  ifree: %llu  "
++msgid "%s: cannot allocate space for file\n"
++msgstr "%s: nie można przydzielić miejsca na plik\n"
+-#: .././logprint/log_misc.c:315
+-#, c-format
+-msgid "fdblks: %llu  frext: %llu\n"
+-msgstr "fdblks: %llu  frext: %llu\n"
++#: .././mkfs/proto.c:328
++msgid "directory createname error"
++msgstr "błąd tworzenia nazwy katalogu"
+-#: .././logprint/log_misc.c:322
+-#, c-format
+-msgid "AGI Buffer: XAGI  "
+-msgstr "Bufor AGI: XAGI  "
++#: .././mkfs/proto.c:342
++msgid "directory create error"
++msgstr "błąd tworzenia katalogu"
+-#: .././logprint/log_misc.c:325
++#: .././mkfs/proto.c:408 .././mkfs/proto.c:420 .././mkfs/proto.c:431
++#: .././mkfs/proto.c:438
+ #, c-format
+-msgid "out of space\n"
+-msgstr "brak miejsca na dysku\n"
++msgid "%s: bad format string %s\n"
++msgstr "%s: błędny łańcuch formatujący %s\n"
+-#: .././logprint/log_misc.c:328
+-#, c-format
+-msgid "ver: %d  "
+-msgstr "wersja: %d  "
++#: .././mkfs/proto.c:460 .././mkfs/proto.c:501 .././mkfs/proto.c:517
++#: .././mkfs/proto.c:530 .././mkfs/proto.c:543 .././mkfs/proto.c:555
++msgid "Inode allocation failed"
++msgstr "Przydzielanie i-węzła nie powiodło się"
+-#: .././logprint/log_misc.c:330
+-#, c-format
+-msgid "seq#: %d  len: %d  cnt: %d  root: %d\n"
+-msgstr "seq#: %d  len: %d  cnt: %d  root: %d\n"
++#: .././mkfs/proto.c:478
++msgid "Inode pre-allocation failed"
++msgstr "Wczesne przydzielanie i-węzła nie powiodło się"
+-#: .././logprint/log_misc.c:335
+-#, c-format
+-msgid "level: %d  free#: 0x%x  newino: 0x%x\n"
+-msgstr "level: %d  free#: 0x%x  newino: 0x%x\n"
++#: .././mkfs/proto.c:489
++msgid "Pre-allocated file creation failed"
++msgstr "Tworzenie wcześnie przydzielonego pliku nie powiodło się"
+-#: .././logprint/log_misc.c:345
+-#, c-format
+-msgid "AGI unlinked data skipped "
+-msgstr "Pominięto niedowiązane dane AGI "
++#: .././mkfs/proto.c:575
++msgid "Directory creation failed"
++msgstr "Tworzenie katalogu nie powiodło się"
+-#: .././logprint/log_misc.c:346
+-#, c-format
+-msgid "(CONTINUE set, no space)\n"
+-msgstr "(KONTYNUACJA, brak miejsca)\n"
++#: .././mkfs/proto.c:597
++msgid "Unknown format"
++msgstr "Nieznany format"
+-#: .././logprint/log_misc.c:352
+-#, c-format
+-msgid "bucket[%d - %d]: "
+-msgstr "kubełek[%d - %d]: "
++#: .././mkfs/proto.c:602
++msgid "Error encountered creating file from prototype file"
++msgstr "Wystąpił błąd podczas tworzenia pliku z pliku prototypu"
+-#: .././logprint/log_misc.c:364
+-#, c-format
+-msgid "AGF Buffer: XAGF  "
+-msgstr "Bufor AGF: XAGF  "
++#: .././mkfs/proto.c:655
++msgid "Realtime bitmap inode allocation failed"
++msgstr "Przydzielanie i-węzła bitmapy realtime nie powiodło się"
+-#: .././logprint/log_misc.c:369
+-#, c-format
+-msgid "ver: %d  seq#: %d  len: %d  \n"
+-msgstr "ver: %d  seq#: %d  len: %d  \n"
++#: .././mkfs/proto.c:673
++msgid "Realtime summary inode allocation failed"
++msgstr "Tworzenie i-węzła opisu realtime nie powiodło się"
+-#: .././logprint/log_misc.c:373
+-#, c-format
+-msgid "root BNO: %d  CNT: %d\n"
+-msgstr "root BNO: %d  CNT: %d\n"
++#: .././mkfs/proto.c:702
++msgid "Allocation of the realtime bitmap failed"
++msgstr "Przydzielenie bitmapy realtime nie powiodło się"
+-#: .././logprint/log_misc.c:376
+-#, c-format
+-msgid "level BNO: %d  CNT: %d\n"
+-msgstr "level BNO: %d  CNT: %d\n"
++#: .././mkfs/proto.c:715
++msgid "Completion of the realtime bitmap failed"
++msgstr "Uzupełnienie bitmapy realtime nie powiodło się"
+-#: .././logprint/log_misc.c:379
+-#, c-format
+-msgid "1st: %d  last: %d  cnt: %d  freeblks: %d  longest: %d\n"
+-msgstr "1st: %d  last: %d  cnt: %d  freeblks: %d  longest: %d\n"
++#: .././mkfs/proto.c:739
++msgid "Allocation of the realtime summary failed"
++msgstr "Przydzielenie opisu realtime nie powiodło się"
+-#: .././logprint/log_misc.c:389
+-#, c-format
+-msgid "DQUOT Buffer: DQ  "
+-msgstr "Bufor DQUOT: DQ  "
++#: .././mkfs/proto.c:751
++msgid "Completion of the realtime summary failed"
++msgstr "Uzupełnienie opisu realtime nie powiodło się"
+-#: .././logprint/log_misc.c:396
+-#, c-format
+-msgid "ver: %d  flags: 0x%x  id: %d  \n"
+-msgstr "ver: %d  flags: 0x%x  id: %d  \n"
++#: .././mkfs/proto.c:771
++msgid "Error initializing the realtime space"
++msgstr "Błąd podczas inicjalizacji przestrzeni realtime"
+-#: .././logprint/log_misc.c:399
+-#, c-format
+-msgid "blk limits  hard: %llu  soft: %llu\n"
+-msgstr "blk limits  hard: %llu  soft: %llu\n"
++#: .././mkfs/proto.c:776
++msgid "Error completing the realtime space"
++msgstr "Błąd podczas uzupełniania przestrzeni realtime"
+-#: .././logprint/log_misc.c:404
++#: .././mkfs/xfs_mkfs.c:228
+ #, c-format
+-msgid "blk  count: %llu  warns: %d  timer: %d\n"
+-msgstr "blk  count: %llu  warns: %d  timer: %d\n"
++msgid "data su/sw must not be used in conjunction with data sunit/swidth\n"
++msgstr "su/sw danych nie można użyć w połączeniu z sunit/swidth danych\n"
+-#: .././logprint/log_misc.c:408
++#: .././mkfs/xfs_mkfs.c:235
+ #, c-format
+-msgid "ino limits  hard: %llu  soft: %llu\n"
+-msgstr "ino limits  hard: %llu  soft: %llu\n"
++msgid "both data sunit and data swidth options must be specified\n"
++msgstr "trzeba podać obie opcje sunit i swidth dla danych\n"
+-#: .././logprint/log_misc.c:413
++#: .././mkfs/xfs_mkfs.c:244
+ #, c-format
+-msgid "ino  count: %llu  warns: %d  timer: %d\n"
+-msgstr "ino  count: %llu  warns: %d  timer: %d\n"
++msgid "data sunit/swidth must not be used in conjunction with data su/sw\n"
++msgstr "sunit/swidth danych nie można użyć w połączeniu z su/sw danych\n"
+-#: .././logprint/log_misc.c:419
++#: .././mkfs/xfs_mkfs.c:251
+ #, c-format
+-msgid "BUF DATA\n"
+-msgstr "DANE BUFORA\n"
++msgid "both data su and data sw options must be specified\n"
++msgstr "trzeba podać obie opcje su i sw dla danych\n"
+-#: .././logprint/log_misc.c:461
++#: .././mkfs/xfs_mkfs.c:258
+ #, c-format
+-msgid "EFD:  #regs: %d    num_extents: %d  id: 0x%llx\n"
+-msgstr "EFD:  #regs: %d    num_extents: %d  id: 0x%llx\n"
++msgid "data su must be a multiple of the sector size (%d)\n"
++msgstr "su danych musi być wielokrotnością rozmiaru sektora (%d)\n"
+-#: .././logprint/log_misc.c:468
++#: .././mkfs/xfs_mkfs.c:269
+ #, c-format
+-msgid "EFD: Not enough data to decode further\n"
+-msgstr "EFD: Za mało danych do dalszego dekodowania\n"
++msgid "data stripe width (%d) must be a multiple of the data stripe unit (%d)\n"
++msgstr "szerokość pasa danych (%d) musi być wielokrotnością jednostki pasa danych (%d)\n"
+-#: .././logprint/log_misc.c:488 .././logprint/log_misc.c:497
++#: .././mkfs/xfs_mkfs.c:279
+ #, c-format
+-msgid "%s: xlog_print_trans_efi: malloc failed\n"
+-msgstr "%s: xlog_print_trans_efi: malloc nie powiodło się\n"
++msgid "log su should not be used in conjunction with log sunit\n"
++msgstr "su logu nie powinno być używane w połączeniu z sunit logu\n"
+-#: .././logprint/log_misc.c:505
++#: .././mkfs/xfs_mkfs.c:288
+ #, c-format
+-msgid "EFI:  #regs: %d    num_extents: %d  id: 0x%llx\n"
+-msgstr "EFI:  #regs: %d    num_extents: %d  id: 0x%llx\n"
++msgid "log sunit should not be used in conjunction with log su\n"
++msgstr "sunit logu nie powinno być używane w połączeniu z su logu\n"
+-#: .././logprint/log_misc.c:532
++#: .././mkfs/xfs_mkfs.c:358 .././mkfs/xfs_mkfs.c:482
+ #, c-format
+-msgid "QOFF:  #regs: %d    flags: 0x%x\n"
+-msgstr "QOFF:  #regs: %d    flags: 0x%x\n"
++msgid "%s: %s appears to contain an existing filesystem (%s).\n"
++msgstr "%s: %s zdaje się zawierać istniejący system plików (%s).\n"
+-#: .././logprint/log_misc.c:535
++#: .././mkfs/xfs_mkfs.c:362 .././mkfs/xfs_mkfs.c:488
+ #, c-format
+-msgid "QOFF: Not enough data to decode further\n"
+-msgstr "QOFF: Za mało danych do dalszego dekodowania\n"
++msgid "%s: %s appears to contain a partition table (%s).\n"
++msgstr "%s: %s zdaje się zawierać tablicę partycji (%s).\n"
+-#: .././logprint/log_misc.c:544
++#: .././mkfs/xfs_mkfs.c:366
+ #, c-format
+-msgid "INODE CORE\n"
+-msgstr "RDZEŃ I-WĘZŁA\n"
++msgid "%s: %s appears to contain something weird according to blkid\n"
++msgstr "%s: %s zdaje się zawierać coś dziwnego wg blkid\n"
+-#: .././logprint/log_misc.c:545
++#: .././mkfs/xfs_mkfs.c:376
+ #, c-format
+-msgid "magic 0x%hx mode 0%ho version %d format %d\n"
+-msgstr "magic 0x%hx mode 0%ho version %d format %d\n"
++msgid "%s: probe of %s failed, cannot detect existing filesystem.\n"
++msgstr "%s: test %s nie powiódł się, nie można wykryć istniejącego systemu plików.\n"
+-#: .././logprint/log_misc.c:548
++#: .././mkfs/xfs_mkfs.c:429
+ #, c-format
+-msgid "nlink %hd uid %d gid %d\n"
+-msgstr "nlink %hd uid %d gid %d\n"
++msgid "warning: device is not properly aligned %s\n"
++msgstr "uwaga: urządzenie nie jest właściwie wyrównane: %s\n"
+-#: .././logprint/log_misc.c:550
++#: .././mkfs/xfs_mkfs.c:434
+ #, c-format
+-msgid "atime 0x%x mtime 0x%x ctime 0x%x\n"
+-msgstr "atime 0x%x mtime 0x%x ctime 0x%x\n"
++msgid "Use -f to force usage of a misaligned device\n"
++msgstr "Można użyć -f do wymuszenia użycia źle wyrównanego urządzenia\n"
+-#: .././logprint/log_misc.c:552
++#: .././mkfs/xfs_mkfs.c:448
+ #, c-format
+-msgid "size 0x%llx nblocks 0x%llx extsize 0x%x nextents 0x%x\n"
+-msgstr "size 0x%llx nblocks 0x%llx extsize 0x%x nextents 0x%x\n"
++msgid "warning: unable to probe device toplology for device %s\n"
++msgstr "uwaga: nie udało się odczytać topologii urządzenia %s\n"
+-#: .././logprint/log_misc.c:555
++#: .././mkfs/xfs_mkfs.c:557
+ #, c-format
+-msgid "naextents 0x%x forkoff %d dmevmask 0x%x dmstate 0x%hx\n"
+-msgstr "naextents 0x%x forkoff %d dmevmask 0x%x dmstate 0x%hx\n"
++msgid "log size %lld is not a multiple of the log stripe unit %d\n"
++msgstr "rozmiar logu %lld nie jest wielokrotnością jednostki pasa logu %d\n"
+-#: .././logprint/log_misc.c:558
++#: .././mkfs/xfs_mkfs.c:585
+ #, c-format
+-msgid "flags 0x%x gen 0x%x\n"
+-msgstr "flags 0x%x gen 0x%x\n"
++msgid "Due to stripe alignment, the internal log size (%lld) is too large.\n"
++msgstr "Ze względu na wyrównanie do rozmiaru pasa rozmiar wewnętrznego logu (%lld) jest zbyt duży.\n"
+-#: .././logprint/log_misc.c:574
++#: .././mkfs/xfs_mkfs.c:587
+ #, c-format
+-msgid "SHORTFORM DIRECTORY size %d\n"
+-msgstr "Rozmiar KATALOGU W POSTACI KRÓTKIEJ %d\n"
++msgid "Must fit within an allocation group.\n"
++msgstr "Musi zmieścić się wewnątrz grupy alokacji.\n"
+-#: .././logprint/log_misc.c:580
++#: .././mkfs/xfs_mkfs.c:598
+ #, c-format
+-msgid "SHORTFORM DIRECTORY size %d count %d\n"
+-msgstr "KATALOG W POSTACI KRÓTKIEJ: rozmiar %d liczba %d\n"
++msgid "log size %lld blocks too small, minimum size is %d blocks\n"
++msgstr "rozmiar logu %lld bloków jest zbyt mały, minimalny rozmiar to %d bloków\n"
+-#: .././logprint/log_misc.c:583
++#: .././mkfs/xfs_mkfs.c:604
+ #, c-format
+-msgid ".. ino 0x%llx\n"
+-msgstr ".. ino 0x%llx\n"
++msgid "log size %lld blocks too large, maximum size is %lld blocks\n"
++msgstr "rozmiar logu %lld bloków jest zbyt duży, maksymalny rozmiar to %lld bloków\n"
+-#: .././logprint/log_misc.c:591
++#: .././mkfs/xfs_mkfs.c:610
+ #, c-format
+-msgid "%s ino 0x%llx namelen %d\n"
+-msgstr "%s ino 0x%llx namelen %d\n"
++msgid "log size %lld bytes too large, maximum size is %lld bytes\n"
++msgstr "rozmiar logu %lld bajtów jest zbyt duży, maksymalny rozmiar to %lld bajtów\n"
+-#: .././logprint/log_misc.c:623
++#: .././mkfs/xfs_mkfs.c:718
+ #, c-format
+-msgid "INODE: "
+-msgstr "I-WĘZEŁ: "
++msgid "agsize (%lld blocks) too small, need at least %lld blocks\n"
++msgstr "agsize (%lld bloków) zbyt małe, potrzeba co najmniej %lld bloków\n"
+-#: .././logprint/log_misc.c:624
++#: .././mkfs/xfs_mkfs.c:726
+ #, c-format
+-msgid "#regs: %d   ino: 0x%llx  flags: 0x%x   dsize: %d\n"
+-msgstr "#regs: %d   ino: 0x%llx  flags: 0x%x   dsize: %d\n"
++msgid "agsize (%lld blocks) too big, maximum is %lld blocks\n"
++msgstr "agsize (%lld bloków) zbyt duże, maksimum to %lld bloków\n"
+-#: .././logprint/log_misc.c:627
++#: .././mkfs/xfs_mkfs.c:734
+ #, c-format
+-msgid "        blkno: %lld  len: %d  boff: %d\n"
+-msgstr "        blkno: %lld  len: %d  boff: %d\n"
++msgid "agsize (%lld blocks) too big, data area is %lld blocks\n"
++msgstr "agsize (%lld bloków) zbyt duże, obszar danych to %lld bloków\n"
+-#: .././logprint/log_misc.c:632
++#: .././mkfs/xfs_mkfs.c:741
+ #, c-format
+-msgid "INODE: #regs: %d   Not printing rest of data\n"
+-msgstr "I-WĘZEŁ: #regs: %d   Bez wypisywania reszty danych\n"
++msgid "too many allocation groups for size = %lld\n"
++msgstr "zbyt dużo grup alokacji dla rozmiaru = %lld\n"
+-#: .././logprint/log_misc.c:665
++#: .././mkfs/xfs_mkfs.c:743
+ #, c-format
+-msgid "EXTENTS inode data\n"
+-msgstr "EKSTENTY danych i-węzła\n"
++msgid "need at most %lld allocation groups\n"
++msgstr "potrzeba najwyżej %lld grup alokacji\n"
+-#: .././logprint/log_misc.c:676
++#: .././mkfs/xfs_mkfs.c:751
+ #, c-format
+-msgid "BTREE inode data\n"
+-msgstr "B-DRZEWO danych i-węzła\n"
++msgid "too few allocation groups for size = %lld\n"
++msgstr "zbyt mało grup alokacji dla rozmiaru = %lld\n"
+-#: .././logprint/log_misc.c:687
++#: .././mkfs/xfs_mkfs.c:753
+ #, c-format
+-msgid "LOCAL inode data\n"
+-msgstr "LOKALNE dane i-węzła\n"
++msgid "need at least %lld allocation groups\n"
++msgstr "potrzeba co najmniej %lld grup alokacji\n"
+-#: .././logprint/log_misc.c:701
++#: .././mkfs/xfs_mkfs.c:766
+ #, c-format
+-msgid "EXTENTS inode attr\n"
+-msgstr "EKSTENTY atrybutów i-węzła\n"
++msgid "last AG size %lld blocks too small, minimum size is %lld blocks\n"
++msgstr "rozmiar ostatniej AG %lld bloków zbyt mały, minimalny rozmiar to %lld bloków\n"
+-#: .././logprint/log_misc.c:712
++#: .././mkfs/xfs_mkfs.c:777
+ #, c-format
+-msgid "BTREE inode attr\n"
+-msgstr "B-DRZEWO atrybutów i-węzła\n"
++msgid "%lld allocation groups is too many, maximum is %lld\n"
++msgstr "%lld grup alokacji to zbyt dużo, maksimum to %lld\n"
+-#: .././logprint/log_misc.c:723
++#: .././mkfs/xfs_mkfs.c:801
+ #, c-format
+-msgid "LOCAL inode attr\n"
+-msgstr "LOKALNE atrybuty i-węzła\n"
++msgid "error reading existing superblock -- failed to memalign buffer\n"
++msgstr "błąd podczas odczytu istniejącego superbloku - nie udało się wykonać memalign dla bufora\n"
+-#: .././logprint/log_misc.c:735
++#: .././mkfs/xfs_mkfs.c:807
+ #, c-format
+-msgid "DEV inode: no extra region\n"
+-msgstr "I-węzeł DEV: brak dodatkowego regionu\n"
++msgid "existing superblock read failed: %s\n"
++msgstr "odczyt istniejącego superbloku nie powiódł się: %s\n"
+-#: .././logprint/log_misc.c:740
++#: .././mkfs/xfs_mkfs.c:1110
+ #, c-format
+-msgid "UUID inode: no extra region\n"
+-msgstr "I-węzeł UUID: brak dodatkowego regionu\n"
+-
+-#: .././logprint/log_misc.c:748
+-msgid "xlog_print_trans_inode: illegal inode type"
+-msgstr "xlog_print_trans_inode: niedozwolony typ i-węzła"
++msgid "%s: Specify data sunit in 512-byte blocks, no unit suffix\n"
++msgstr "%s: sunit danych należy podać w 512-bajtowych blokach, bez jednostki\n"
+-#: .././logprint/log_misc.c:776
++#: .././mkfs/xfs_mkfs.c:1126
+ #, c-format
+-msgid "#regs: %d   id: 0x%x"
+-msgstr "#regs: %d   id: 0x%x"
++msgid "%s: Specify data swidth in 512-byte blocks, no unit suffix\n"
++msgstr "%s: swidth danych należy podać w 512-bajtowych blokach, bez jednostki\n"
+-#: .././logprint/log_misc.c:777
++#: .././mkfs/xfs_mkfs.c:1153
+ #, c-format
+-msgid "  blkno: %lld  len: %d  boff: %d\n"
+-msgstr "  blkno: %lld  len: %d  boff: %d\n"
++msgid "%s: Specify data sw as multiple of su, no unit suffix\n"
++msgstr "%s: sw danych należy podać jako wielokrotność su, bez jednostki\n"
+-#: .././logprint/log_misc.c:781
++#: .././mkfs/xfs_mkfs.c:1382
+ #, c-format
+-msgid "DQUOT: #regs: %d   Not printing rest of data\n"
+-msgstr "DQUOT: #regs: %d   Bez wypisywania reszty danych\n"
++msgid "Specify log sunit in 512-byte blocks, no size suffix\n"
++msgstr "sunit należy podać w 512-bajtowych blokach, bez jednostki\n"
+-#: .././logprint/log_misc.c:800
++#: .././mkfs/xfs_mkfs.c:1485 .././mkfs/xfs_mkfs.c:1554
+ #, c-format
+-msgid "DQUOT: magic 0x%hx flags 0%ho\n"
+-msgstr "DQUOT: magic 0x%hx flags 0%ho\n"
++msgid "cannot specify both crc and ftype\n"
++msgstr "nie można podać jednocześnie crc i ftype\n"
+-#: .././logprint/log_misc.c:828
++#: .././mkfs/xfs_mkfs.c:1679
+ #, c-format
+-msgid "%s: lseek64 to %lld failed: %s\n"
+-msgstr "%s: lseek64 na %lld nie powiodło się: %s\n"
++msgid "extra arguments\n"
++msgstr "nadmiarowe argumenty\n"
+-#: .././logprint/log_misc.c:871
++#: .././mkfs/xfs_mkfs.c:1685
+ #, c-format
+-msgid "%s: xlog_print_record: malloc failed\n"
+-msgstr "%s: xlog_print_record: malloc nie powiodło się\n"
++msgid "cannot specify both %s and -d name=%s\n"
++msgstr "nie można podać jednocześnie %s i -d name=%s\n"
+-#: .././logprint/log_misc.c:880
++#: .././mkfs/xfs_mkfs.c:1702
+ #, c-format
+-msgid "%s: xlog_print_record: read error\n"
+-msgstr "%s: xlog_print_record: błąd odczytu\n"
++msgid "illegal block size %d\n"
++msgstr "niedozwolony rozmiar bloku %d\n"
+-#: .././logprint/log_misc.c:967
++#: .././mkfs/xfs_mkfs.c:1737
+ #, c-format
+-msgid "Left over region from split log item\n"
+-msgstr "Region pozostały z podziału elementu logu\n"
++msgid "specified blocksize %d is less than device physical sector size %d\n"
++msgstr "podany rozmiar bloku %d jest mniejszy niż rozmiar fizycznego sektora urządzenia (%d)\n"
+-#: .././logprint/log_misc.c:1011
++#: .././mkfs/xfs_mkfs.c:1740
+ #, c-format
+-msgid "Unmount filesystem\n"
+-msgstr "Niezamontowany system plików\n"
++msgid "switching to logical sector size %d\n"
++msgstr "przełączono na rozmiar sektora logicznego %d\n"
+-#: .././logprint/log_misc.c:1016
++#: .././mkfs/xfs_mkfs.c:1758
+ #, c-format
+-msgid "%s: unknown log operation type (%x)\n"
+-msgstr "%s: nieznany typ operacji w logu (%x)\n"
++msgid "illegal sector size %d\n"
++msgstr "niedozwolony rozmiar sektora %d\n"
+-#: .././logprint/log_misc.c:1051
++#: .././mkfs/xfs_mkfs.c:1761
+ #, c-format
+-msgid "Header 0x%x wanted 0x%x\n"
+-msgstr "Nagłówek 0x%x, pożądany 0x%x\n"
++msgid "block size %d cannot be smaller than logical sector size %d\n"
++msgstr "rozmiar bloku %d nie może być mniejszy niż rozmiar sektora logicznego %d\n"
+-#: .././logprint/log_misc.c:1065
++#: .././mkfs/xfs_mkfs.c:1766
+ #, c-format
+-msgid "cycle: %d\tversion: %d\t"
+-msgstr "cykl: %d\twersja: %d\t"
++msgid "illegal sector size %d; hw sector is %d\n"
++msgstr "niedozwolony rozmiar sektora %d; sektor sprzętowy ma %d\n"
+-#: .././logprint/log_misc.c:1071
++#: .././mkfs/xfs_mkfs.c:1772
+ #, c-format
+-msgid "length of Log Record: %d\tprev offset: %d\t\tnum ops: %d\n"
+-msgstr "długość rekordu logu: %d\tpoprz.offset: %d\t\tl.oper.: %d\n"
++msgid "illegal log sector size %d\n"
++msgstr "niedozwolony rozmiar sektora logu %d\n"
+-#: .././logprint/log_misc.c:1077 .././logprint/log_misc.c:1119
++#: .././mkfs/xfs_mkfs.c:1788 .././mkfs/xfs_mkfs.c:1883
+ #, c-format
+-msgid "cycle num overwrites: "
+-msgstr "liczba nadpisań cyklu: "
++msgid "Minimum inode size for CRCs is %d bytes\n"
++msgstr "Minimalny rozmiar i-węzła dla CRC to %d bajtów\n"
+-#: .././logprint/log_misc.c:1086
++#: .././mkfs/xfs_mkfs.c:1796
+ #, c-format
+-msgid "uuid: %s   format: "
+-msgstr "uuid: %s   format: "
++msgid "Inodes always aligned for CRC enabled filesytems\n"
++msgstr "I-węzły są zawsze wyrównane dla systemów plików z CRC\n"
+-#: .././logprint/log_misc.c:1089
++#: .././mkfs/xfs_mkfs.c:1803
+ #, c-format
+-msgid "unknown\n"
+-msgstr "nieznany\n"
++msgid "Lazy superblock counted always enabled for CRC enabled filesytems\n"
++msgstr "Leniwe liczenie syperbloków jest zawsze włączone dla systemów plików z CRC\n"
+-#: .././logprint/log_misc.c:1092
++#: .././mkfs/xfs_mkfs.c:1810
+ #, c-format
+-msgid "little endian linux\n"
+-msgstr "Linux little endian\n"
++msgid "V2 logs always enabled for CRC enabled filesytems\n"
++msgstr "Logi V2 są zawsze włączone dla systemów plików z CRC\n"
+-#: .././logprint/log_misc.c:1095
++#: .././mkfs/xfs_mkfs.c:1817
+ #, c-format
+-msgid "big endian linux\n"
+-msgstr "Linux big endian\n"
++msgid "V2 attribute format always enabled on CRC enabled filesytems\n"
++msgstr "Format atrybutów V2 jest zawsze włączony dla systemów plików z CRC\n"
+-#: .././logprint/log_misc.c:1098
++#: .././mkfs/xfs_mkfs.c:1825
+ #, c-format
+-msgid "big endian irix\n"
+-msgstr "IRIX big endian\n"
++msgid "32 bit Project IDs always enabled on CRC enabled filesytems\n"
++msgstr "32-bitowe ID projektów są zawsze włączone dla systemów plików z CRC\n"
+-#: .././logprint/log_misc.c:1104
++#: .././mkfs/xfs_mkfs.c:1833
+ #, c-format
+-msgid "h_size: %d\n"
+-msgstr "h_size: %d\n"
++msgid "illegal directory block size %d\n"
++msgstr "niedozwolony rozmiar bloku katalogu %d\n"
+-#: .././logprint/log_misc.c:1116
++#: .././mkfs/xfs_mkfs.c:1847
+ #, c-format
+-msgid "extended-header: cycle: %d\n"
+-msgstr "nagłówek-rozszerzony: cykl: %d\n"
++msgid "both -d agcount= and agsize= specified, use one or the other\n"
++msgstr "podano jednocześnie -d agcount= i agsize=, można użyć tylko jednej z tych opcji\n"
+-#: .././logprint/log_misc.c:1132
++#: .././mkfs/xfs_mkfs.c:1853
+ #, c-format
+-msgid "* ERROR: found data after zeroed blocks block=%-21lld  *\n"
+-msgstr "* BŁĄD: znaleziono dane za wyzerowanymi blokami blok=%-21lld  *\n"
++msgid "if -d file then -d name and -d size are required\n"
++msgstr "jeśli podano -d file, to -d name i -d size są wymagane\n"
+-#: .././logprint/log_misc.c:1143
++#: .././mkfs/xfs_mkfs.c:1862
+ #, c-format
+-msgid "* ERROR: header cycle=%-11d block=%-21lld        *\n"
+-msgstr "* BŁĄD: nagłówek cykl=%-11d blok=%-21lld                *\n"
++msgid "illegal data length %lld, not a multiple of %d\n"
++msgstr "niedozwolona długość danych %lld, nie jest wielokrotnością %d\n"
+-#: .././logprint/log_misc.c:1154
++#: .././mkfs/xfs_mkfs.c:1868
+ #, c-format
+-msgid "* ERROR: data block=%-21lld                             *\n"
+-msgstr "* BŁĄD: blok danych=%-21lld                                   *\n"
++msgid "warning: data length %lld not a multiple of %d, truncated to %lld\n"
++msgstr "uwaga: długość danych %lld nie jest wielokrotnością %d, ucięto do %lld\n"
+-#: .././logprint/log_misc.c:1165
++#: .././mkfs/xfs_mkfs.c:1890
+ #, c-format
+-msgid ""
+-"* ERROR: for header block=%lld\n"
+-"*        not enough hdrs for data length, required num = %d, hdr num = %d\n"
+-msgstr ""
+-"* BŁĄD: dla bloku nagłówka %lld\n"
+-"*       za mało nagłówków dla długości danych, wymaganych = %d, liczba = %d\n"
+-
+-#: .././logprint/log_misc.c:1171
+-msgid "Not enough headers for data length."
+-msgstr "Za mało nagłówków dla długości danych."
++msgid "if -l file then -l name and -l size are required\n"
++msgstr "jeśli podano -l file to -l name i -l size są wymagane\n"
+-#: .././logprint/log_misc.c:1181
++#: .././mkfs/xfs_mkfs.c:1899
+ #, c-format
+-msgid "%s: xlog_print: malloc failed for ext hdrs\n"
+-msgstr "%s: xlog_print: malloc dla rozszerzonych nagłówków nie powiódł się\n"
++msgid "illegal log length %lld, not a multiple of %d\n"
++msgstr "niedozwolona długość logu %lld, nie jest wielokrotnością %d\n"
+-#: .././logprint/log_misc.c:1227 .././logprint/log_misc.c:1302
+-#: .././logprint/log_misc.c:1368 .././logprint/log_misc.c:1405
++#: .././mkfs/xfs_mkfs.c:1906
+ #, c-format
+-msgid "%s: physical end of log\n"
+-msgstr "%s: fizyczny koniec logu\n"
++msgid "warning: log length %lld not a multiple of %d, truncated to %lld\n"
++msgstr "uwaga: długość logu %lld nie jest wielokrotnością %d, ucięto do %lld\n"
+-#: .././logprint/log_misc.c:1233 .././logprint/log_misc.c:1307
+-#: .././logprint/log_misc.c:1420
++#: .././mkfs/xfs_mkfs.c:1912
+ #, c-format
+-msgid "BLKNO: %lld\n"
+-msgstr "BLKNO: %lld\n"
++msgid "if -r file then -r name and -r size are required\n"
++msgstr "jeśli podano -r file, to -r name i -r size są wymagane\n"
+-#: .././logprint/log_misc.c:1290
++#: .././mkfs/xfs_mkfs.c:1921
+ #, c-format
+-msgid "%s: problem finding oldest LR\n"
+-msgstr "%s: problem ze znalezieniem najstarszego rekordu logu\n"
++msgid "illegal rt length %lld, not a multiple of %d\n"
++msgstr "niedozwolona długość rt %lld, nie jest wielokrotnością %d\n"
+-#: .././logprint/log_misc.c:1316
++#: .././mkfs/xfs_mkfs.c:1928
+ #, c-format
+-msgid "%s: after %d zeroed blocks\n"
+-msgstr "%s: po %d wyzerowanych blokach\n"
+-
+-#: .././logprint/log_misc.c:1380
+-msgid "illegal value"
+-msgstr "niedozwolona wartość"
++msgid "warning: rt length %lld not a multiple of %d, truncated to %lld\n"
++msgstr "uwaga: długość rt %lld nie jest wielokrotnością %d, ucięto do %lld\n"
+-#: .././logprint/log_misc.c:1386
++#: .././mkfs/xfs_mkfs.c:1941
+ #, c-format
+-msgid "%s: skipped %d cleared blocks in range: %lld - %lld\n"
+-msgstr "%s: pominięto %d wyzerowanych bloków w przedziale: %lld - %lld\n"
++msgid "illegal rt extent size %lld, not a multiple of %d\n"
++msgstr "niedozwolony rozmiar ekstentu rt %lld, nie jest wielokrotnością %d\n"
+-#: .././logprint/log_misc.c:1391
++#: .././mkfs/xfs_mkfs.c:1947
+ #, c-format
+-msgid "%s: totally cleared log\n"
+-msgstr "%s: całkowicie wyczyszczony log\n"
++msgid "rt extent size %s too large, maximum %d\n"
++msgstr "rozmiar ekstentu rt %s zbyt duży, maksimum to %d\n"
+-#: .././logprint/log_misc.c:1396
++#: .././mkfs/xfs_mkfs.c:1953
+ #, c-format
+-msgid "%s: skipped %d zeroed blocks in range: %lld - %lld\n"
+-msgstr "%s: pominięto %d wyzerowanych bloków w przedziale %lld - %lld\n"
++msgid "rt extent size %s too small, minimum %d\n"
++msgstr "rozmiar ekstentu rt %s zbyt mały, minimum to %d\n"
+-#: .././logprint/log_misc.c:1401
++#: .././mkfs/xfs_mkfs.c:1996
+ #, c-format
+-msgid "%s: totally zeroed log\n"
+-msgstr "%s: całkowicie wyzerowany log\n"
+-
+-#: .././logprint/log_misc.c:1417
+-msgid "xlog_find_head: bad read"
+-msgstr "xlog_find_head: błędny odczyt"
++msgid "illegal inode size %d\n"
++msgstr "niedozwolony rozmiar i-węzła %d\n"
+-#: .././logprint/log_misc.c:1473
++#: .././mkfs/xfs_mkfs.c:2001
+ #, c-format
+-msgid "%s: logical end of log\n"
+-msgstr "%s: logiczny koniec logu\n"
++msgid "allowable inode size with %d byte blocks is %d\n"
++msgstr "dozwolony rozmiar i-węzła przy blokach %d-bajtowych to %d\n"
+-#: .././logprint/log_misc.c:1565
++#: .././mkfs/xfs_mkfs.c:2005
+ #, c-format
+-msgid "%s: bad size of efi format: %u; expected %u or %u; nextents = %u\n"
+-msgstr "%s: błędny rozmiar formatu efi: %u; oczekiwano %u lub %u; nextents = %u\n"
++msgid "allowable inode size with %d byte blocks is between %d and %d\n"
++msgstr "dozwolone rozmiary i-węzła przy blokach %d-bajtowych są od %d do %d\n"
+-#: .././logprint/log_print_trans.c:25
++#: .././mkfs/xfs_mkfs.c:2013
+ #, c-format
+-msgid "TRANS: tid:0x%x  type:%s  #items:%d  trans:0x%x  q:0x%lx\n"
+-msgstr "TRANS: tid:0x%x  typ:%s   #elem:%d   trans:0x%x  q:0x%lx\n"
++msgid "log stripe unit specified, using v2 logs\n"
++msgstr "podano jednostkę pasa logu, użyto logów v2\n"
+-#: .././logprint/log_print_trans.c:51
++#: .././mkfs/xfs_mkfs.c:2028
+ #, c-format
+-msgid "%s: failed to find head and tail, error: %d\n"
+-msgstr "%s: nie udało się odnaleźć początku ani końca, błąd: %d\n"
++msgid "no device name given in argument list\n"
++msgstr "nie podano nazwy urządzenia w liście argumentów\n"
+-#: .././logprint/log_print_trans.c:56
++#: .././mkfs/xfs_mkfs.c:2053
+ #, c-format
+-msgid "    log tail: %lld head: %lld state: %s\n"
+-msgstr "    koniec logu: %lld początek: %lld stan: %s\n"
++msgid "%s: Use the -f option to force overwrite.\n"
++msgstr "%s: Można użyć opcji -f do wymuszenia nadpisania.\n"
+-#: .././logprint/log_print_trans.c:62
+-#, c-format
+-msgid "    override tail: %d\n"
+-msgstr "    koniec override: %d\n"
++#: .././mkfs/xfs_mkfs.c:2072
++msgid "internal log"
++msgstr "log wewnętrzny"
+-#: .././logprint/log_print_trans.c:72
+-#, c-format
+-msgid "%s: failed in xfs_do_recovery_pass, error: %d\n"
+-msgstr "%s: xfs_do_recovery_pass nie powiodło się, błąd: %d\n"
++#: .././mkfs/xfs_mkfs.c:2074
++msgid "volume log"
++msgstr "log na wolumenie"
+-#: .././logprint/log_print_all.c:98
++#: .././mkfs/xfs_mkfs.c:2076
+ #, c-format
+-msgid "BUF:  #regs:%d   start blkno:0x%llx   len:%d   bmap size:%d   flags:0x%x\n"
+-msgstr "BUF:  #regs:%d   blok pocz.:0x%llx  dług.:%d  rozm.bmapy:%d   flagi:0x%x\n"
++msgid "no log subvolume or internal log\n"
++msgstr "brak podwolumenu logu ani logu wewnętrznego\n"
+-#: .././logprint/log_print_all.c:108
++#: .././mkfs/xfs_mkfs.c:2083
++msgid "volume rt"
++msgstr "wolumen rt"
++
++#: .././mkfs/xfs_mkfs.c:2088
+ #, c-format
+-msgid "\tSUPER Block Buffer:\n"
+-msgstr "\tBufor SUPER bloku:\n"
++msgid "size %s specified for data subvolume is too large, maximum is %lld blocks\n"
++msgstr "rozmiar %s podany dla podwolumenu danych jest zbyt duży, maksimum to %lld bloków\n"
+-#: .././logprint/log_print_all.c:111
++#: .././mkfs/xfs_mkfs.c:2095
+ #, c-format
+-msgid "              icount:%llu ifree:%llu  "
+-msgstr "              icount:%llu ifree:%llu  "
++msgid "can't get size of data subvolume\n"
++msgstr "nie można pobrać rozmiaru podwolumenu danych\n"
+-#: .././logprint/log_print_all.c:116
++#: .././mkfs/xfs_mkfs.c:2100
+ #, c-format
+-msgid "fdblks:%llu  frext:%llu\n"
+-msgstr "fdblks:%llu  frext:%llu\n"
++msgid "size %lld of data subvolume is too small, minimum %d blocks\n"
++msgstr "rozmiar %lld dla podwolumenu danych jest zbyt mały, minimum to %d bloków\n"
+-#: .././logprint/log_print_all.c:121
++#: .././mkfs/xfs_mkfs.c:2107
+ #, c-format
+-msgid "\t\tsunit:%u  swidth:%u\n"
+-msgstr "\t\tsunit:%u  swidth:%u\n"
++msgid "can't have both external and internal logs\n"
++msgstr "nie można mieć jednocześnie zewnętrznego i wewnętrznego logu\n"
+-#: .././logprint/log_print_all.c:126
++#: .././mkfs/xfs_mkfs.c:2111
+ #, c-format
+-msgid "\tAGI Buffer: (XAGI)\n"
+-msgstr "\tBufor AGI: (XAGI)\n"
++msgid "data and log sector sizes must be equal for internal logs\n"
++msgstr "rozmiary sektora danych i logu muszą być równe dla logów wewnętrznych\n"
+-#: .././logprint/log_print_all.c:129
++#: .././mkfs/xfs_mkfs.c:2117
+ #, c-format
+-msgid "\t\tver:%d  "
+-msgstr "\t\twersja:%d  "
++msgid ""
++"Warning: the data subvolume sector size %u is less than the sector size \n"
++"reported by the device (%u).\n"
++msgstr ""
++"Uwaga: rozmiar sektora podwolumenu danych %u jest mniejszy od rozmiaru\n"
++"sektora zgłaszanego przez urządzenie (%u).\n"
+-#: .././logprint/log_print_all.c:131
++#: .././mkfs/xfs_mkfs.c:2123
+ #, c-format
+-msgid "seq#:%d  len:%d  cnt:%d  root:%d\n"
+-msgstr "seq#:%d  len:%d  cnt:%d  root:%d\n"
++msgid ""
++"Warning: the log subvolume sector size %u is less than the sector size\n"
++"reported by the device (%u).\n"
++msgstr ""
++"Uwaga: rozmiar sektora podwolumenu logu %u jest mniejszy od rozmiaru\n"
++"sektora zgłaszanego przez urządzenie (%u).\n"
+-#: .././logprint/log_print_all.c:136
++#: .././mkfs/xfs_mkfs.c:2129
+ #, c-format
+-msgid "\t\tlevel:%d  free#:0x%x  newino:0x%x\n"
+-msgstr "\t\tlevel:%d  free#:0x%x  newino:0x%x\n"
++msgid ""
++"Warning: the realtime subvolume sector size %u is less than the sector size\n"
++"reported by the device (%u).\n"
++msgstr ""
++"Uwaga: rozmiar sektora podwolumenu realtime %u jest mniejszy od rozmiaru\n"
++"sektora zgłaszanego przez urządzenie (%u).\n"
+-#: .././logprint/log_print_all.c:142
++#: .././mkfs/xfs_mkfs.c:2136
+ #, c-format
+-msgid "\tAGF Buffer: (XAGF)\n"
+-msgstr "\tBufor AGI: (XAGF)\n"
++msgid "size %s specified for rt subvolume is too large, maximum is %lld blocks\n"
++msgstr "rozmiar %s podany dla podwolumenu rt jest zbyt duży, maksimum to %lld bloków\n"
+-#: .././logprint/log_print_all.c:145
++#: .././mkfs/xfs_mkfs.c:2144
+ #, c-format
+-msgid "\t\tver:%d  seq#:%d  len:%d  \n"
+-msgstr "\t\tver:%d  seq#:%d  len:%d  \n"
++msgid "size specified for non-existent rt subvolume\n"
++msgstr "podano rozmiar dla nie istniejącego podwolumenu rt\n"
+-#: .././logprint/log_print_all.c:149
++#: .././mkfs/xfs_mkfs.c:2159
+ #, c-format
+-msgid "\t\troot BNO:%d  CNT:%d\n"
+-msgstr "\t\troot BNO:%d  CNT:%d\n"
++msgid "%s: Specified data stripe unit %d is not the same as the volume stripe unit %d\n"
++msgstr "%s: Podana jednostka pasa danych %d nie jest taka sama jak jednostka pasa wolumenu %d\n"
+-#: .././logprint/log_print_all.c:152
++#: .././mkfs/xfs_mkfs.c:2166
+ #, c-format
+-msgid "\t\tlevel BNO:%d  CNT:%d\n"
+-msgstr "\t\tlevel BNO:%d  CNT:%d\n"
++msgid "%s: Specified data stripe width %d is not the same as the volume stripe width %d\n"
++msgstr "%s: Podana szerokość pasa danych %d nie jest taka sama jak szerokość pasa wolumenu %d\n"
+-#: .././logprint/log_print_all.c:155
++#: .././mkfs/xfs_mkfs.c:2184
+ #, c-format
+-msgid "\t\t1st:%d  last:%d  cnt:%d  freeblks:%d  longest:%d\n"
+-msgstr "\t\t1st:%d  last:%d  cnt:%d  freeblks:%d  longest:%d\n"
++msgid "agsize (%lld) not a multiple of fs blk size (%d)\n"
++msgstr "agsize (%lld) nie jest wielokrotnością rozmiaru bloku systemu plików (%d)\n"
+-#: .././logprint/log_print_all.c:164
++#: .././mkfs/xfs_mkfs.c:2234
+ #, c-format
+-msgid "\tDQUOT Buffer:\n"
+-msgstr "\tBufor DQUOT:\n"
++msgid "agsize rounded to %lld, swidth = %d\n"
++msgstr "agsize zaokrąglone do %lld, swidth = %d\n"
+-#: .././logprint/log_print_all.c:167
++#: .././mkfs/xfs_mkfs.c:2266
+ #, c-format
+-msgid "\t\tUIDs 0x%lx-0x%lx\n"
+-msgstr "\t\tUIDs 0x%lx-0x%lx\n"
++msgid ""
++"Warning: AG size is a multiple of stripe width.  This can cause performance\n"
++"problems by aligning all AGs on the same disk.  To avoid this, run mkfs with\n"
++"an AG size that is one stripe unit smaller, for example %llu.\n"
++msgstr ""
++"Uwaga: rozmiar AG jest wielokrotnością szerokości pasa. Może to spowodować\n"
++"problemy z wydajnością poprzez wyrównanie wszystkich AG na tym samym dysku.\n"
++"Aby temu zapobiec, należy uruchomić mkfs z rozmiarem AG o jedną jednostkę\n"
++"pasa mniejszym, na przykład %llu.\n"
+-#: .././logprint/log_print_all.c:172
++#: .././mkfs/xfs_mkfs.c:2291
+ #, c-format
+-msgid "\tBUF DATA\n"
+-msgstr "\tDANE BUF\n"
++msgid "%s: Stripe unit(%d) or stripe width(%d) is not a multiple of the block size(%d)\n"
++msgstr "%s: Jednostka pasa (%d) lub szerokość pasa (%d) nie jest wielokrotnością rozmiaru bloku (%d)\n"
+-#: .././logprint/log_print_all.c:194
++#: .././mkfs/xfs_mkfs.c:2323
+ #, c-format
+-msgid "\tQUOTAOFF: #regs:%d   type:%s\n"
+-msgstr "\tQUOTAOFF: #regs:%d   type:%s\n"
++msgid "log stripe unit (%d) must be a multiple of the block size (%d)\n"
++msgstr "jednostka pasa logu (%d) musi być wielokrotnością rozmiaru bloku (%d)\n"
+-#: .././logprint/log_print_all.c:209
++#: .././mkfs/xfs_mkfs.c:2336
+ #, c-format
+-msgid "\tDQUOT: #regs:%d  blkno:%lld  boffset:%u id: %d\n"
+-msgstr "\tDQUOT: #regs:%d  blkno:%lld  boffset:%u id: %d\n"
++msgid "log stripe unit (%d bytes) is too large (maximum is 256KiB)\n"
++msgstr "jednostka pasa logu (%d bajtów) jest zbyt duża (maksimum to 256KiB)\n"
+-#: .././logprint/log_print_all.c:213
++#: .././mkfs/xfs_mkfs.c:2339
+ #, c-format
+-msgid "\t\tmagic 0x%x\tversion 0x%x\tID 0x%x (%d)\t\n"
+-msgstr "\t\tmagic 0x%x\twersja 0x%x\tID 0x%x (%d)\t\n"
++msgid "log stripe unit adjusted to 32KiB\n"
++msgstr "jednostka pasa logu zmodyfikowana na 32KiB\n"
+-#: .././logprint/log_print_all.c:218
++#: .././mkfs/xfs_mkfs.c:2351
+ #, c-format
+-msgid "\t\tblk_hard 0x%x\tblk_soft 0x%x\tino_hard 0x%x\tino_soft 0x%x\n"
+-msgstr "\t\tblk_hard 0x%x\tblk_soft 0x%x\tino_hard 0x%x\tino_soft 0x%x\n"
++msgid "size %s specified for log subvolume is too large, maximum is %lld blocks\n"
++msgstr "rozmiar %s podany dla podwolumenu logu jest zbyt duży, maksimum to %lld bloków\n"
+-#: .././logprint/log_print_all.c:224
++#: .././mkfs/xfs_mkfs.c:2358
+ #, c-format
+-msgid "\t\tbcount 0x%x (%d) icount 0x%x (%d)\n"
+-msgstr "\t\tbcount 0x%x (%d) icount 0x%x (%d)\n"
++msgid "size specified for non-existent log subvolume\n"
++msgstr "podano rozmiar dla nie istniejącego podwolumenu logu\n"
+-#: .././logprint/log_print_all.c:229
++#: .././mkfs/xfs_mkfs.c:2361
+ #, c-format
+-msgid "\t\tbtimer 0x%x itimer 0x%x \n"
+-msgstr "\t\tbtimer 0x%x itimer 0x%x \n"
++msgid "size %lld too large for internal log\n"
++msgstr "rozmiar %lld jest zbyt duży dla logu wewnętrznego\n"
+-#: .././logprint/log_print_all.c:238
++#: .././mkfs/xfs_mkfs.c:2430
+ #, c-format
+-msgid "\tCORE inode:\n"
+-msgstr "\tGŁÓWNY i-węzeł:\n"
++msgid "internal log size %lld too large, must fit in allocation group\n"
++msgstr "rozmiar wewnętrznego logu %lld zbyt duży, musi się zmieścić w grupie alokacji\n"
+-#: .././logprint/log_print_all.c:241
++#: .././mkfs/xfs_mkfs.c:2438
+ #, c-format
+-msgid "\t\tmagic:%c%c  mode:0x%x  ver:%d  format:%d  onlink:%d\n"
+-msgstr "\t\tmagic:%c%c  mode:0x%x  ver:%d  format:%d  onlin:%d\n"
++msgid "log ag number %d too large, must be less than %lld\n"
++msgstr "liczba ag logu %d zbyt duża, musi być mniejsza niż %lld\n"
+-#: .././logprint/log_print_all.c:245
++#: .././mkfs/xfs_mkfs.c:2476
+ #, c-format
+-msgid "\t\tuid:%d  gid:%d  nlink:%d projid:%u\n"
+-msgstr "\t\tuid:%d  gid:%d  nlink:%d projid:%u\n"
++msgid ""
++"meta-data=%-22s isize=%-6d agcount=%lld, agsize=%lld blks\n"
++"         =%-22s sectsz=%-5u attr=%u, projid32bit=%u\n"
++"         =%-22s crc=%u\n"
++"data     =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n"
++"         =%-22s sunit=%-6u swidth=%u blks\n"
++"naming   =version %-14u bsize=%-6u ascii-ci=%d ftype=%d\n"
++"log      =%-22s bsize=%-6d blocks=%lld, version=%d\n"
++"         =%-22s sectsz=%-5u sunit=%d blks, lazy-count=%d\n"
++"realtime =%-22s extsz=%-6d blocks=%lld, rtextents=%lld\n"
++msgstr ""
++"metadane=%-22s isize=%-6d agcount=%lld, agsize=%lld bloków\n"
++"        =%-22s sectsz=%-5u attr=%u, projid32bit=%u\n"
++"        =%-22s crc=%u\n"
++"dane    =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n"
++"        =%-22s sunit=%-6u swidth=%u bloków\n"
++"nazwy   =wersja %-14u bsize=%-6u ascii-ci=%d ftype=%d\n"
++"log     =%-22s bsize=%-6d blocks=%lld, wersja=%d\n"
++"        =%-22s sectsz=%-5u sunit=%d bloków, lazy-count=%d\n"
++"realtime=%-22s extsz=%-6d blocks=%lld, rtextents=%lld\n"
+-#: .././logprint/log_print_all.c:247
++#: .././mkfs/xfs_mkfs.c:2602
+ #, c-format
+-msgid "\t\tatime:%d  mtime:%d  ctime:%d\n"
+-msgstr "\t\tatime:%d  mtime:%d  ctime:%d\n"
++msgid "%s: Growing the data section failed\n"
++msgstr "%s: Powiększenie sekcji danych nie powiodło się\n"
+-#: .././logprint/log_print_all.c:249
++#: .././mkfs/xfs_mkfs.c:2631
+ #, c-format
+-msgid "\t\tflushiter:%d\n"
+-msgstr "\t\tflushiter:%d\n"
++msgid "%s: filesystem failed to initialize\n"
++msgstr "%s: nie udało się zainicjować systemu plików\n"
+-#: .././logprint/log_print_all.c:250
++#: .././mkfs/xfs_mkfs.c:2907
+ #, c-format
+-msgid "\t\tsize:0x%llx  nblks:0x%llx  exsize:%d  nextents:%d  anextents:%d\n"
+-msgstr "\t\tsize:0x%llx  nblks:0x%llx  exsize:%d  nextents:%d  anextents:%d\n"
++msgid "%s: root inode created in AG %u, not AG 0\n"
++msgstr "%s: główny i-węzeł utworzony w AG %u, nie AG 0\n"
+-#: .././logprint/log_print_all.c:254
++#: .././mkfs/xfs_mkfs.c:2973
+ #, c-format
+-msgid "\t\tforkoff:%d  dmevmask:0x%x  dmstate:%d  flags:0x%x  gen:%d\n"
+-msgstr "\t\tforkoff:%d  dmevmask:0x%x  dmstate:%d  flags:0x%x  gen:%d\n"
++msgid "Cannot specify both -%c %s and -%c %s\n"
++msgstr "Nie można podać jednocześnie -%c %s i %c %s\n"
+-#: .././logprint/log_print_all.c:274
++#: .././mkfs/xfs_mkfs.c:2984
+ #, c-format
+-msgid "\tINODE: #regs:%d   ino:0x%llx  flags:0x%x   dsize:%d\n"
+-msgstr "\tINODE: #regs:%d   ino:0x%llx  flags:0x%x   dsize:%d\n"
++msgid "Illegal value %s for -%s option\n"
++msgstr "Niedozwolona wartość %s dla opcji -%s\n"
+-#: .././logprint/log_print_all.c:289
++#: .././mkfs/xfs_mkfs.c:3001
+ #, c-format
+-msgid "\t\tDATA FORK EXTENTS inode data:\n"
+-msgstr "\t\tDane EKSTENTÓW GAŁĘZI DANYCH i-węzła:\n"
++msgid "-%c %s option requires a value\n"
++msgstr "Opcja -%c %s wymaga wartości\n"
+-#: .././logprint/log_print_all.c:296
++#: .././mkfs/xfs_mkfs.c:3014 .././repair/xfs_repair.c:164
+ #, c-format
+-msgid "\t\tDATA FORK BTREE inode data:\n"
+-msgstr "\t\tDane B-DRZEWA GAŁĘZI DANYCH i-węzła:\n"
++msgid "option respecified\n"
++msgstr "ponownie podana opcja\n"
+-#: .././logprint/log_print_all.c:303
++#: .././mkfs/xfs_mkfs.c:3023 .././repair/xfs_repair.c:171
+ #, c-format
+-msgid "\t\tDATA FORK LOCAL inode data:\n"
+-msgstr "\t\tDane LOKALNE GAŁĘZI DANYCH i-węzła:\n"
++msgid "unknown option -%c %s\n"
++msgstr "nieznana opcja -%c %s\n"
+-#: .././logprint/log_print_all.c:310
++#: .././mkfs/xfs_mkfs.c:3062
+ #, c-format
+-msgid "\t\tDEV inode: no extra region\n"
+-msgstr "\t\tI-węzeł DEV: brak dodatkowego regionu\n"
++msgid "blocksize not available yet.\n"
++msgstr "rozmiar bloku jeszcze nie dostępny.\n"
+-#: .././logprint/log_print_all.c:314
++#: .././mkfs/xfs_mkfs.c:3088
+ #, c-format
+-msgid "\t\tUUID inode: no extra region\n"
+-msgstr "\t\tI-węzeł UUID: brak dodatkowego regionu\n"
++msgid ""
++"Usage: %s\n"
++"/* blocksize */\t\t[-b log=n|size=num]\n"
++"/* metadata */\t\t[-m crc=[0|1]\n"
++"/* data subvol */\t[-d agcount=n,agsize=n,file,name=xxx,size=num,\n"
++"\t\t\t    (sunit=value,swidth=value|su=num,sw=num|noalign),\n"
++"\t\t\t    sectlog=n|sectsize=num\n"
++"/* force overwrite */\t[-f]\n"
++"/* inode size */\t[-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2,\n"
++"\t\t\t    projid32bit=0|1]\n"
++"/* no discard */\t[-K]\n"
++"/* log subvol */\t[-l agnum=n,internal,size=num,logdev=xxx,version=n\n"
++"\t\t\t    sunit=value|su=num,sectlog=n|sectsize=num,\n"
++"\t\t\t    lazy-count=0|1]\n"
++"/* label */\t\t[-L label (maximum 12 characters)]\n"
++"/* naming */\t\t[-n log=n|size=num,version=2|ci,ftype=0|1]\n"
++"/* no-op info only */\t[-N]\n"
++"/* prototype file */\t[-p fname]\n"
++"/* quiet */\t\t[-q]\n"
++"/* realtime subvol */\t[-r extsize=num,size=num,rtdev=xxx]\n"
++"/* sectorsize */\t[-s log=n|size=num]\n"
++"/* version */\t\t[-V]\n"
++"\t\t\tdevicename\n"
++"<devicename> is required unless -d name=xxx is given.\n"
++"<num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),\n"
++"      xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).\n"
++"<value> is xxx (512 byte blocks).\n"
++msgstr ""
++"Składnia: %s\n"
++"/* rozmiar bloku */     [-b log=n|size=liczba]\n"
++"/* metadane */          [-m crc=[0|1]]\n"
++"/* podwolumen danych */ [-d agcount=n,agsize=n,file,name=xxx,size=liczba,\n"
++"                           (sunit=wartość,swidth=wartość|su=ile,sw=ile|noalign),\n"
++"                           sectlog=n|sectsize=ile]\n"
++"/* wym. nadpisania */   [-f]\n"
++"/* rozmiar i-węzła */   [-i log=n|perblock=n|size=ile,maxpct=n,attr=0|1|2,\n"
++"                           projid32bit=0|1]\n"
++"/* bez porzucenia */    [-K]\n"
++"/* podwolumen logu */   [-l agnum=n,internal,size=ile,logdev=xxx,version=n\n"
++"                           sunit=wartość|su=ile,sectlog=n|sectsize=ile,\n"
++"                           lazy-count=0|1]\n"
++"/* etykieta */          [-L etykieta (maksymalnie 12 znaków)]\n"
++"/* nazwy */             [-n log=n|size=ile,wersja=2|ci,ftype=0|1]\n"
++"/* tylko info no-op */  [-N]\n"
++"/* plik prototypu */    [-p nazwa_pliku]\n"
++"/* cisza */             [-q]\n"
++"/* podwolumen rt */     [-r extsize=ile,size=ile,rtdev=xxx]\n"
++"/* rozmiar sektora */   [-s log=n|size=ile]\n"
++"/* wersja */            [-V]\n"
++"                        nazwa_urządzenia\n"
++"<nazwa_urządzenia> jest wymagana, chyba że podano -d name=xxx.\n"
++"<liczba> to xxx (bajtów), xxxs (sektorów), xxxb (bloków systemu plików),\n"
++"         xxxk (xxx KiB), xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB),\n"
++"         xxxp (xxx PiB).\n"
++"<wartość> to xxx (512-bajtowych bloków).\n"
+-#: .././logprint/log_print_all.c:329
++#: .././quota/edit.c:36
+ #, c-format
+-msgid "\t\tATTR FORK EXTENTS inode data:\n"
+-msgstr "\t\tDane EKSTENTÓW GAŁĘZI ATRYBUTÓW i-węzła:\n"
++msgid ""
++"\n"
++" modify quota limits for the specified user\n"
++"\n"
++" Example:\n"
++" 'limit bsoft=100m bhard=110m tanya\n"
++"\n"
++" Changes the soft and/or hard block limits, inode limits and/or realtime\n"
++" block limits that are currently being used for the specified user, group,\n"
++" or project.  The filesystem identified by the current path is modified.\n"
++" -d -- set the default values, used the first time a file is created\n"
++" -g -- modify group quota limits\n"
++" -p -- modify project quota limits\n"
++" -u -- modify user quota limits\n"
++" The block limit values can be specified with a units suffix - accepted\n"
++" units are: k (kilobytes), m (megabytes), g (gigabytes), and t (terabytes).\n"
++" The user/group/project can be specified either by name or by number.\n"
++"\n"
++msgstr ""
++"\n"
++" zmiana limitów quot dla podanego użytkownika\n"
++"\n"
++"Przykład:\n"
++" 'limit bsoft=100m bhard=110m tanya'\n"
++"\n"
++" limit zmienia miękki i/lub twardy limit bloków, limity i-węzłów i/lub limity\n"
++" bloków realtime aktualnie używane dla podanego użytkownika, grupy lub projektu.\n"
++" System plików określony bieżącą ścieżką jest modyfikowany.\n"
++" -d - ustawienie wartości domyślnych, użytych pierwszy raz przy tworzeniu pliku\n"
++" -g - zmiana limitów quot grupy\n"
++" -p - zmiana limitów quot projektu\n"
++" -u - zmiana limitów quot użytkownika\n"
++" Wartości limitów bloków mogą być podane z końcówką jednostki - przyjmowane\n"
++" jednostki to: k (kilobajty), m (megabajty), g (gigabajty) i t (terabajty).\n"
++" Użytkownik/grupa/projekt może być podany za pomocą nazwy lub numeru.\n"
++"\n"
+-#: .././logprint/log_print_all.c:337
++#: .././quota/edit.c:59
+ #, c-format
+-msgid "\t\tATTR FORK BTREE inode data:\n"
+-msgstr "\t\tDane B-DRZEWA GAŁĘZI ATRYBUTÓW i-węzła:\n"
++msgid ""
++"\n"
++" modify quota enforcement timeout for the current filesystem\n"
++"\n"
++" Example:\n"
++" 'timer -i 3days'\n"
++" (soft inode limit timer is changed to 3 days)\n"
++"\n"
++" Changes the timeout value associated with the block limits, inode limits\n"
++" and/or realtime block limits for all users, groups, or projects on the\n"
++" current filesystem.\n"
++" As soon as a user consumes the amount of space or number of inodes set as\n"
++" the soft limit, a timer is started.  If the timer expires and the user is\n"
++" still over the soft limit, the soft limit is enforced as the hard limit.\n"
++" The default timeout is 7 days.\n"
++" -d -- set the default values, used the first time a file is created\n"
++" -g -- modify group quota timer\n"
++" -p -- modify project quota timer\n"
++" -u -- modify user quota timer\n"
++" -b -- modify the blocks-used timer\n"
++" -i -- modify the inodes-used timer\n"
++" -r -- modify the blocks-used timer for the (optional) realtime subvolume\n"
++" The timeout value is specified as a number of seconds, by default.\n"
++" However, a suffix may be used to alternatively specify minutes (m),\n"
++" hours (h), days (d), or weeks (w) - either the full word or the first\n"
++" letter of the word can be used.\n"
++"\n"
++msgstr ""
++"\n"
++" zmiana czasu wymuszenia limitów dla bieżącego systemu plików\n"
++"\n"
++" Przykład:\n"
++" 'timer -i 3days'\n"
++" (zmiana czasu wymuszenia miękkiego limitu i-węzłów na 3 dni)\n"
++"\n"
++" timer zmienia wartość ograniczenia czasu związanego z limitami bloków,\n"
++" limitami i-węzłów i/lub limitami bloków realtime dla wszystkich użytkowników,\n"
++" grup lub projektów na bieżącym systemie plików.\n"
++" Po tym jak użytkownik wykorzysta ilość miejsca lub liczbę i-węzłów ustawioną\n"
++" jako miękki limit, zaczyna działać zegar. Kiedy czas minie, a użytkownik nadal\n"
++" przekracza miękki limit, miękki limit staje się twardym.\n"
++" Domyślne ograniczenie czasowe to 7 dni.\n"
++" -d - ustawienie wartości domyślnych, użytych pierwszy raz przy tworzeniu pliku\n"
++" -g - zmiana czasu dla limitów quot grup\n"
++" -p - zmiana czasu dla limitów quot projektów\n"
++" -u - zmiana czasu dla limitów quot użytkowników\n"
++" -b - zmiana czasu dla użytych bloków\n"
++" -i - zmiana czasu dla użytych i-węzłów\n"
++" -r - zmiana czasu dla użytych bloków na (opcjonalnym) podwolumenie realtime\n"
++" Wartość ograniczenia czasu jest podawana domyślnie jako liczba sekund.\n"
++" Jednak można dodać końcówkę, aby podać czas w minutach (m), godzinach (h),\n"
++" dniach (d) lub tygodniach (w) - można użyć pełnego słowa lub pierwsze litery.\n"
++"\n"
+-#: .././logprint/log_print_all.c:345
++#: .././quota/edit.c:91
+ #, c-format
+-msgid "\t\tATTR FORK LOCAL inode data:\n"
+-msgstr "\t\tDane LOKALNE GAŁĘZI ATRYBUTÓW i-węzła:\n"
++msgid ""
++"\n"
++" modify the number of quota warnings sent to the specified user\n"
++"\n"
++" Example:\n"
++" 'warn 2 jimmy'\n"
++" (tell the quota system that two warnings have been sent to user jimmy)\n"
++"\n"
++" Changes the warning count associated with the block limits, inode limits\n"
++" and/or realtime block limits for the specified user, group, or project.\n"
++" When a user has been warned the maximum number of times allowed, the soft\n"
++" limit is enforced as the hard limit.  It is intended as an alternative to\n"
++" the timeout system, where the system administrator updates a count of the\n"
++" number of warnings issued to people, and they are penalised if the warnings\n"
++" are ignored.\n"
++" -d -- set maximum warning count, which triggers soft limit enforcement\n"
++" -g -- set group quota warning count\n"
++" -p -- set project quota warning count\n"
++" -u -- set user quota warning count\n"
++" -b -- set the blocks-used warning count\n"
++" -i -- set the inodes-used warning count\n"
++" -r -- set the blocks-used warn count for the (optional) realtime subvolume\n"
++" The user/group/project can be specified either by name or by number.\n"
++"\n"
++msgstr ""
++"\n"
++" zmiana liczby ostrzeżeń quot wysyłanych do podanego użytkownika\n"
++"\n"
++" Przykład:\n"
++" 'warn 2 jimmy'\n"
++" (przekazanie systemowi quota, że wysłano 2 ostrzeżenia do użytkownika jimmy)\n"
++"\n"
++" warn zmienia liczbę ostrzeżeń związanych z limitami bloków, limitami i-węzłów\n"
++" i/lub limitami bloków realtime dla podanego użytkownika, grupy lub projektu.\n"
++" Kiedy użytkownik został ostrzeżony maksymalną dozwoloną liczbę razy, miękki\n"
++" limit staje się twardym. Jest to pomyślane jako alternatywa dla systemu\n"
++" ograniczeń czasowych, gdzie administrator uaktualnia licznik ostrzeżeń\n"
++" wysłanych do ludzi i karze użytkowników ignorujących ostrzeżenia.\n"
++" -d - ustawienie maksymalnej liczby ostrzeżeń, po której wymuszane są limity\n"
++" -g - ustawienie liczby ostrzeżeń dla grupy\n"
++" -p - ustawienie liczby ostrzeżeń dla projektu\n"
++" -u - ustawienie liczby ostrzeżeń dla grupy\n"
++" -b - ustawienie liczby ostrzeżeń dla użytych bloków\n"
++" -i - ustawienie liczby ostrzeżeń dla użytych i-węzłów\n"
++" -r - ustawienie liczby ostrzeżeń dla użytych bloków na podwolumenie realtime\n"
++" Użytkownik/grupa/projekt może być podany za pomocą nazwy lub numeru.\n"
++"\n"
+-#: .././logprint/log_print_all.c:370
++#: .././quota/edit.c:145
+ #, c-format
+-msgid "\tEFD:  #regs: %d    num_extents: %d  id: 0x%llx\n"
+-msgstr "\tEFD:  #regs: %d    num_extents: %d  id: 0x%llx\n"
++msgid "%s: cannot set limits: %s\n"
++msgstr "%s: nie można ustawić limitów: %s\n"
+-#: .././logprint/log_print_all.c:394
++#: .././quota/edit.c:166 .././quota/edit.c:569
+ #, c-format
+-msgid "%s: xlog_recover_print_efi: malloc failed\n"
+-msgstr "%s: xlog_recover_print_efi: malloc nie powiodło się\n"
++msgid "%s: invalid user name: %s\n"
++msgstr "%s: nieprawidłowa nazwa użytkownika: %s\n"
+-#: .././logprint/log_print_all.c:402
++#: .././quota/edit.c:189 .././quota/edit.c:586
+ #, c-format
+-msgid "\tEFI:  #regs:%d    num_extents:%d  id:0x%llx\n"
+-msgstr "\tEFI:  #regs:%d    num_extents:%d  id:0x%llx\n"
++msgid "%s: invalid group name: %s\n"
++msgstr "%s: nieprawidłowa nazwa grupy: %s\n"
+-#: .././logprint/log_print_all.c:442
++#: .././quota/edit.c:212 .././quota/edit.c:603
+ #, c-format
+-msgid "xlog_recover_print_logitem: illegal type\n"
+-msgstr "xlog_recover_print_logitem: niedozwolony typ\n"
++msgid "%s: invalid project name: %s\n"
++msgstr "%s: nieprawidłowa nazwa projektu: %s\n"
+-#: .././logprint/log_print_all.c:473
++#: .././quota/edit.c:237
+ #, c-format
+-msgid "%s: illegal type"
+-msgstr "%s: niedozwolony typ"
++msgid "%s: Error: could not parse size %s.\n"
++msgstr "%s: Błąd: nie udało się przeanalizować rozmiaru %s.\n"
+-#: .././logprint/log_print_all.c:481
++#: .././quota/edit.c:243
+ #, c-format
+-msgid ": cnt:%d total:%d "
+-msgstr ": cnt:%d total:%d "
++msgid "%s: Warning: `%s' in quota blocks is 0 (unlimited).\n"
++msgstr "%s: Uwaga: `%s' w blokach limitów wynosi 0 (bez ograniczeń).\n"
+-#: .././logprint/log_print_all.c:483
++#: .././quota/edit.c:332
+ #, c-format
+-msgid "a:0x%lx len:%d "
+-msgstr "a:0x%lx len:%d "
++msgid "%s: unrecognised argument %s\n"
++msgstr "%s: nierozpoznany argument %s\n"
+-#: .././libxlog/util.c:37
++#: .././quota/edit.c:339
+ #, c-format
+-msgid ""
+-"* ERROR: mismatched uuid in log\n"
+-"*            SB : %s\n"
+-"*            log: %s\n"
+-msgstr ""
+-"* BŁĄD: niepasujący uuid w logu\n"
+-"             SB : %s\n"
+-"             log: %s\n"
++msgid "%s: cannot find any valid arguments\n"
++msgstr "%s: nie można znaleźć żadnych poprawnych argumentów\n"
+-#: .././libxlog/util.c:50
++#: .././quota/edit.c:447
+ #, c-format
+-msgid ""
+-"\n"
+-"LOG REC AT LSN cycle %d block %d (0x%x, 0x%x)\n"
+-msgstr ""
+-"\n"
+-"LOG REC AT LSN cykl %d blok %d (0x%x, 0x%x)\n"
++msgid "%s: fopen on %s failed: %s\n"
++msgstr "%s: fopen na %s nie powiodło się: %s\n"
+-#: .././libxlog/util.c:58
++#: .././quota/edit.c:479
+ #, c-format
+-msgid "* ERROR: bad magic number in log header: 0x%x\n"
+-msgstr "* BŁĄD: błędna liczba magiczna w nagłówku logu: 0x%x\n"
++msgid "%s: cannot set timer: %s\n"
++msgstr "%s: nie można ustawić czasu: %s\n"
+-#: .././libxlog/util.c:67
++#: .././quota/edit.c:553
+ #, c-format
+-msgid "* ERROR: log format incompatible (log=%d, ours=%d)\n"
+-msgstr "* BŁĄD: niekompatybilny format logu (log=%d, nasz=%d)\n"
++msgid "%s: cannot set warnings: %s\n"
++msgstr "%s: nie można ustawić ostrzeżeń: %s\n"
+-#: .././libxlog/util.c:77 .././libxlog/util.c:89
+-msgid "Bad log"
+-msgstr "Błędny log"
+-
+-#: .././libxfs/freebsd.c:49
+-#, c-format
+-msgid "%s: %s possibly contains a mounted filesystem\n"
+-msgstr "%s: %s może zawierać podmontowany system plików\n"
+-
+-#: .././libxfs/freebsd.c:60 .././libxfs/linux.c:67
+-#, c-format
+-msgid "%s: %s contains a mounted filesystem\n"
+-msgstr "%s: %s zawiera podmontowany system plików\n"
+-
+-#: .././libxfs/freebsd.c:75 .././libxfs/linux.c:85
+-#, c-format
+-msgid "%s: %s contains a possibly writable, mounted filesystem\n"
+-msgstr "%s: %s zawiera podmontowany, być może zapisywalny system plików\n"
+-
+-#: .././libxfs/freebsd.c:89 .././libxfs/linux.c:99
+-#, c-format
+-msgid "%s: %s contains a mounted and writable filesystem\n"
+-msgstr "%s: %s zawiera podmontowany, zapisywalny system plików\n"
+-
+-#: .././libxfs/freebsd.c:116 .././libxfs/darwin.c:76 .././libxfs/irix.c:58
+-#: .././libxfs/linux.c:138
+-#, c-format
+-msgid "%s: cannot stat the device file \"%s\": %s\n"
+-msgstr "%s: nie można wykonać stat na pliku urządzenia \"%s\": %s\n"
+-
+-#: .././libxfs/freebsd.c:129
+-#, c-format
+-msgid "%s: Not a device or file: \"%s\"\n"
+-msgstr "%s: Nie jest urządzeniem ani plikiem: \"%s\"\n"
+-
+-#: .././libxfs/freebsd.c:135
+-#, c-format
+-msgid "%s: DIOCGMEDIASIZE failed on \"%s\": %s\n"
+-msgstr "%s: DIOCGMEDIASIE nie powiodło się dla \"%s\": %s\n"
+-
+-#: .././libxfs/freebsd.c:141
+-#, c-format
+-msgid "%s: DIOCGSECTORSIZE failed on \"%s\": %s\n"
+-msgstr "%s: DIOCGSECTORSIZE nie powiodło się dla \"%s\": %s\n"
+-
+-#: .././libxfs/freebsd.c:196 .././libxfs/darwin.c:139 .././libxfs/irix.c:106
+-#: .././libxfs/linux.c:216
+-#, c-format
+-msgid "%s: can't determine memory size\n"
+-msgstr "%s: nie można określić rozmiaru pamięci\n"
+-
+-#: .././libxfs/util.c:707
+-#, c-format
+-msgid "%s: cannot reserve space: %s\n"
+-msgstr "%s: nie można zarezerwować przestrzeni: %s\n"
+-
+-#: .././libxfs/darwin.c:41
+-#, c-format
+-msgid "%s: error opening the device special file \"%s\": %s\n"
+-msgstr "%s: błąd podczas otwierania pliku specjalnego urządzenia \"%s\": %s\n"
+-
+-#: .././libxfs/darwin.c:48
+-#, c-format
+-msgid "%s: can't tell if \"%s\" is writable: %s\n"
+-msgstr "%s: nie można stwierdzić czy \"%s\" jest zapisywalny: %s\n"
+-
+-#: .././libxfs/darwin.c:86
+-#, c-format
+-msgid "%s: can't determine device size: %s\n"
+-msgstr "%s: nie można określić rozmiaru urządzenia: %s\n"
+-
+-#: .././libxfs/kmem.c:15
+-#, c-format
+-msgid "%s: zone init failed (%s, %d bytes): %s\n"
+-msgstr "%s: inicjalizacja strefy nie powiodła się (%s, %d bajtów): %s\n"
+-
+-#: .././libxfs/kmem.c:32
+-#, c-format
+-msgid "%s: zone alloc failed (%s, %d bytes): %s\n"
+-msgstr "%s: przydzielenie strefy nie powiodło się (%s, %d bajtów): %s\n"
+-
+-#: .././libxfs/kmem.c:56
+-#, c-format
+-msgid "%s: malloc failed (%d bytes): %s\n"
+-msgstr "%s: malloc nie powiodło się (%d bajtów): %s\n"
+-
+-#: .././libxfs/kmem.c:77
+-#, c-format
+-msgid "%s: realloc failed (%d bytes): %s\n"
+-msgstr "%s: realloc nie powiodło się (%d bajtów): %s\n"
+-
+-#: .././libxfs/linux.c:114
+-#, c-format
+-msgid "%s: %s - cannot set blocksize %d on block device %s: %s\n"
+-msgstr "%s: %s - nie można ustawić rozmiaru bloku %d dla urządzenia blokowego %s: %s\n"
++#: .././quota/edit.c:689
++msgid "[-gpu] bsoft|bhard|isoft|ihard|rtbsoft|rtbhard=N -d|id|name"
++msgstr "[-gpu] bsoft|bhard|isoft|ihard|rtbsoft|rtbhard=N -d|id|nazwa"
+-#: .././libxfs/linux.c:161
+-#, c-format
+-msgid "%s: can't determine device size\n"
+-msgstr "%s: nie można określić rozmiaru urządzenia\n"
++#: .././quota/edit.c:690
++msgid "modify quota limits"
++msgstr "zmiana limitów quot"
+-#: .././libxfs/linux.c:169
+-#, c-format
+-msgid "%s: warning - cannot get sector size from block device %s: %s\n"
+-msgstr "%s: uwaga - nie można pobrać rozmiaru sektora urządzenia blokowego %s: %s\n"
++#: .././quota/edit.c:697 .././quota/report.c:33 .././quota/report.c:635
++msgid "[-gpu] [-f file]"
++msgstr "[-gpu] [-f plik]"
+-#: .././libxfs/init.c:80 .././libxfs/init.c:179
+-#, c-format
+-msgid "%s: %s: device %lld is not open\n"
+-msgstr "%s: %s: urządzenie %lld nie jest otwarte\n"
++#: .././quota/edit.c:698
++msgid "restore quota limits from a backup file"
++msgstr "odtworzenie limitów quot z pliku kopii zapasowej"
+-#: .././libxfs/init.c:116
+-#, c-format
+-msgid "%s: cannot stat %s: %s\n"
+-msgstr "%s: nie można wykonać stat na %s: %s\n"
++#: .././quota/edit.c:704 .././quota/edit.c:712
++msgid "[-bir] [-gpu] value -d|id|name"
++msgstr "[-bir] [-gpu] wartość -d|id|nazwa"
+-#: .././libxfs/init.c:141
+-#, c-format
+-msgid "%s: device %lld is already open\n"
+-msgstr "%s: urządzenie %lld jest już otwarte\n"
++#: .././quota/edit.c:705
++msgid "get/set quota enforcement timeouts"
++msgstr "pobranie/ustawienie czasu wymuszenia quot"
+-#: .././libxfs/init.c:154
+-#, c-format
+-msgid "%s: %s: too many open devices\n"
+-msgstr "%s: %s: zbyt dużo otwartych urządzeń\n"
++#: .././quota/edit.c:713
++msgid "get/set enforcement warning counter"
++msgstr "pobranie/ustawienie licznika ostrzeżeń"
+-#: .././libxfs/init.c:197
++#: .././quota/free.c:29
+ #, c-format
+-msgid "%s: can't find a character device matching %s\n"
+-msgstr "%s: nie można odnaleźć urządzenia znakowego odpowiadającego %s\n"
++msgid ""
++"\n"
++" reports the number of free disk blocks and inodes\n"
++"\n"
++" This command reports the number of total, used, and available disk blocks.\n"
++" It can optionally report the same set of numbers for inodes and realtime\n"
++" disk blocks, and will report on all known XFS filesystem mount points and\n"
++" project quota paths by default (see 'print' command for a list).\n"
++" -b -- report the block count values\n"
++" -i -- report the inode count values\n"
++" -r -- report the realtime block count values\n"
++" -h -- report in a human-readable format\n"
++" -N -- suppress the header from the output\n"
++"\n"
++msgstr ""
++"\n"
++" informacje o liczbie wolnych bloków i i-węzłów dysku\n"
++"\n"
++" To polecenie informuje o liczbie wszystkich, używanych i dostępnych bloków\n"
++" dysku. Opcjonalnie informuje o tym samym zestawie liczb dla i-węzłów i bloków\n"
++" realtime oraz domyślnie zgłasza wszystkie znane punkty montowania systemu\n"
++" plików XFS i ścieżki quot projektów (patrz lista w poleceniu 'print').\n"
++" -b - informacje o liczbach bloków\n"
++" -i - informacje o liczbach i-węzłów\n"
++" -r - informacje o liczbach bloków realtime\n"
++" -h - informacje w postaci czytelnej dla człowieka\n"
++" -N - pominięcie nagłówka z wyjścia\n"
++"\n"
+-#: .././libxfs/init.c:203
++#: .././quota/free.c:154
+ #, c-format
+-msgid "%s: can't find a block device matching %s\n"
+-msgstr "%s: nie można odnaleźć urządzenia blokowego odpowiadającego %s\n"
++msgid "%s: project quota flag not set on %s\n"
++msgstr "%s: flaga quot projektu nie ustawiona dla %s\n"
+-#: .././libxfs/init.c:320
++#: .././quota/free.c:163
+ #, c-format
+-msgid "%s: can't get size for data subvolume\n"
+-msgstr "%s: nie można pobrać rozmiaru podwolumenu danych\n"
++msgid "%s: project ID %u (%s) doesn't match ID %u (%s)\n"
++msgstr "%s: ID projektu %u (%s) nie zgadza się z ID %u (%s)\n"
+-#: .././libxfs/init.c:325
++#: .././quota/free.c:229
+ #, c-format
+-msgid "%s: can't get size for log subvolume\n"
+-msgstr "%s: nie można pobrać rozmiaru podwolumenu logu\n"
++msgid "Filesystem  "
++msgstr "System plików "
+-#: .././libxfs/init.c:330
++#: .././quota/free.c:229
+ #, c-format
+-msgid "%s: can't get size for realtime subvolume\n"
+-msgstr "%s: nie można pobrać rozmiaru podwolumenu realtime\n"
++msgid "Filesystem          "
++msgstr "System plików       "
+-#: .././libxfs/init.c:430
++#: .././quota/free.c:232
+ #, c-format
+-msgid "%s: cannot read realtime bitmap inode (%d)\n"
+-msgstr "%s: nie można odczytać i-węzła bitmapy realtime (%d)\n"
++msgid "   Size   Used  Avail Use%%"
++msgstr " Rozmiar  Użyto Dost. %%uż."
+-#: .././libxfs/init.c:440
++#: .././quota/free.c:233
+ #, c-format
+-msgid "%s: cannot read realtime summary inode (%d)\n"
+-msgstr "%s: nie można odczytać i-węzła opisu realtime (%d)\n"
++msgid " 1K-blocks       Used  Available  Use%%"
++msgstr " Bloki 1K        Użyto Dostępnych %%uż."
+-#: .././libxfs/init.c:464
++#: .././quota/free.c:236
+ #, c-format
+-msgid "%s: filesystem has a realtime subvolume\n"
+-msgstr "%s: system plików ma podwolumen realtime\n"
++msgid " Inodes   Used   Free Use%%"
++msgstr " I-węzły  Użyto Wolne %%uż."
+-#: .././libxfs/init.c:486
++#: .././quota/free.c:237
+ #, c-format
+-msgid "%s: realtime init - %llu != %llu\n"
+-msgstr "%s: inicjalizacja realtime - %llu != %llu\n"
++msgid "    Inodes      IUsed      IFree IUse%%"
++msgstr "   I-węzły      UżytoI     WolneI %%użI"
+-#: .././libxfs/init.c:494
++#: .././quota/free.c:238
+ #, c-format
+-msgid "%s: realtime size check failed\n"
+-msgstr "%s: sprawdzenie rozmiaru realtime nie powiodło się\n"
++msgid " Pathname\n"
++msgstr " Ścieżka\n"
+-#: .././libxfs/init.c:699
+-#, c-format
+-msgid "%s: size check failed\n"
+-msgstr "%s: sprawdzenie rozmiaru nie powiodło się\n"
++#: .././quota/free.c:370
++msgid "[-bir] [-hn] [-f file]"
++msgstr "[-bir] [hn] [-f plik]"
+-#: .././libxfs/init.c:708
+-#, c-format
+-msgid "%s: WARNING - filesystem uses v1 dirs,limited functionality provided.\n"
+-msgstr "%s: UWAGA - system plików używa katalogów v1, funkcjonalność jest ograniczona.\n"
++#: .././quota/free.c:371
++msgid "show free and used counts for blocks and inodes"
++msgstr "pokazanie liczby wolnych i zajętych bloków i i-węzłów"
+-#: .././libxfs/init.c:728
++#: .././quota/init.c:48
+ #, c-format
+-msgid "%s: data size check failed\n"
+-msgstr "%s: sprawdzenie rozmiaru danych nie powiodło się\n"
++msgid "Usage: %s [-V] [-x] [-p prog] [-c cmd]... [-d project]... [path]\n"
++msgstr "Składnia: %s [-V] [-x] [-p program] [-c polecenie]... [-d projekt]... [ścieżka]\n"
+-#: .././libxfs/init.c:741
++#: .././quota/path.c:39
+ #, c-format
+-msgid "%s: log size checks failed\n"
+-msgstr "%s: sprawdzenie rozmiaru logu nie powiodło się\n"
++msgid "%sFilesystem          Pathname\n"
++msgstr "%sSystem plików       Ścieżka\n"
+-#: .././libxfs/init.c:752
+-#, c-format
+-msgid "%s: realtime device init failed\n"
+-msgstr "%s: inicjalizacja urządzenia realtime nie powiodła się\n"
++#: .././quota/path.c:40
++msgid "      "
++msgstr "      "
+-#: .././libxfs/init.c:759
++#: .././quota/path.c:43
+ #, c-format
+-msgid "%s: perag init failed\n"
+-msgstr "%s: nie udało się zainicjować perag\n"
++msgid "%c%03d%c "
++msgstr "%c%03d%c "
+-#: .././libxfs/init.c:771
++#: .././quota/path.c:45
+ #, c-format
+-msgid "%s: cannot read root inode (%d)\n"
+-msgstr "%s: nie można odczytać i-węzła głównego (%d)\n"
++msgid "%-19s %s"
++msgstr "%-19s %s"
+-#: .././libxfs/init.c:791
++#: .././quota/path.c:48
+ #, c-format
+-msgid "%s: cannot init perag data (%d)\n"
+-msgstr "%s: nie można zainicjować tabeli perag (%d)\n"
++msgid " (project %u"
++msgstr " (projekt %u"
+-#: .././libxfs/rdwr.c:40
++#: .././quota/path.c:50
+ #, c-format
+-msgid "%s: %s can't memalign %d bytes: %s\n"
+-msgstr "%s: %s nie można wykonać memalign dla %d bajtów: %s\n"
++msgid ", %s"
++msgstr ", %s"
+-#: .././libxfs/rdwr.c:50
++#: .././quota/path.c:103
+ #, c-format
+-msgid "%s: %s seek to offset %llu failed: %s\n"
+-msgstr "%s: %s zmiana offsetu na %llu nie powiodła się: %s\n"
++msgid "No paths are available\n"
++msgstr "Brak ścieżek\n"
+-#: .././libxfs/rdwr.c:60
+-#, c-format
+-msgid "%s: %s write failed: %s\n"
+-msgstr "%s: %s zapis nie powiódł się: %s\n"
++#: .././quota/path.c:131
++msgid "set current path, or show the list of paths"
++msgstr "ustawienie bieżącej ścieżki lub pokazanie listy ścieżek"
+-#: .././libxfs/rdwr.c:64
+-#, c-format
+-msgid "%s: %s not progressing?\n"
+-msgstr "%s: %s nie postępuje?\n"
++#: .././quota/path.c:139
++msgid "list known mount points and projects"
++msgstr "wypisanie znanych punktów montowań i projektów"
+-#: .././libxfs/rdwr.c:336
++#: .././quota/project.c:45
+ #, c-format
+-msgid "%s: %s can't memalign %u bytes: %s\n"
+-msgstr "%s: %s nie można wykonać memalign dla %u bajtów: %s\n"
++msgid ""
++"\n"
++" list projects or setup a project tree for tree quota management\n"
++"\n"
++" Example:\n"
++" 'project -c logfiles'\n"
++" (match project 'logfiles' to a directory, and setup the directory tree)\n"
++"\n"
++" Without arguments, report all projects found in the /etc/projects file.\n"
++" The project quota mechanism in XFS can be used to implement a form of\n"
++" directory tree quota, where a specified directory and all of the files\n"
++" and subdirectories below it (i.e. a tree) can be restricted to using a\n"
++" subset of the available space in the filesystem.\n"
++"\n"
++" A managed tree must be setup initially using the -c option with a project.\n"
++" The specified project name or identifier is matched to one or more trees\n"
++" defined in /etc/projects, and these trees are then recursively descended\n"
++" to mark the affected inodes as being part of that tree - which sets inode\n"
++" flags and the project identifier on every file.\n"
++" Once this has been done, new files created in the tree will automatically\n"
++" be accounted to the tree based on their project identifier.  An attempt to\n"
++" create a hard link to a file in the tree will only succeed if the project\n"
++" identifier matches the project identifier for the tree.  The xfs_io utility\n"
++" can be used to set the project ID for an arbitrary file, but this can only\n"
++" be done by a privileged user.\n"
++"\n"
++" A previously setup tree can be cleared from project quota control through\n"
++" use of the -C option, which will recursively descend the tree, clearing\n"
++" the affected inodes from project quota control.\n"
++"\n"
++" The -c option can be used to check whether a tree is setup, it reports\n"
++" nothing if the tree is correct, otherwise it reports the paths of inodes\n"
++" which do not have the project ID of the rest of the tree, or if the inode\n"
++" flag is not set.\n"
++"\n"
++" The -p <path> option can be used to manually specify project path without\n"
++" need to create /etc/projects file. This option can be used multiple times\n"
++" to specify multiple paths. When using this option only one projid/name can\n"
++" be specified at command line. Note that /etc/projects is also used if exists.\n"
++"\n"
++" The -d <depth> option allows to descend at most <depth> levels of directories\n"
++" below the command line arguments. -d 0 means only apply the actions\n"
++" to the top level of the projects. -d -1 means no recursion limit (default).\n"
++"\n"
++" The /etc/projid and /etc/projects file formats are simple, and described\n"
++" on the xfs_quota man page.\n"
++"\n"
++msgstr ""
++"\n"
++" wypisanie projektów lub ustanowienie drzewa projektu do zarządzania limitami\n"
++"\n"
++" Przykład:\n"
++" 'project -c logfiles'\n"
++" (dopasowanie projektu 'logfiles' do katalogu i ustanowienie drzewa katalogów)\n"
++"\n"
++" Bez argumentów project wypisuje wszystkie projekty znalezione w pliku\n"
++" /etc/projects. Mechanizm quota dla projektów w XFS-ie może być używany do\n"
++" zaimplementowania formy limitów dla drzewa katalogów, gdzie podany katalog\n"
++" i wszystkie pliki i podkatalogi poniżej niego (czyli drzewo) mogą być\n"
++" ograniczone do używania podzbioru miejsca dostępnego w systemie plików.\n"
++"\n"
++" Zarządzane drzewo musi być ustanowione początkowo przy użyciu opcji project -c.\n"
++" Podana nazwa lub identyfikator projektu jest dopasowywany do jednego lub\n"
++" większej liczby drzew zdefiniowanych w /etc/projects, a następnie te drzewa są\n"
++" rekurencyjnie przechodzone w celu oznaczenia i-węzłów jako będących częścią\n"
++" tego drzewa - co ustawia flagi i-węzłów i identyfikator projektu dla każdego\n"
++" pliku.\n"
++" Po zrobieniu tego nowe pliki tworzone w drzewie będą automatycznie liczone jako\n"
++" część drzewa o ich identyfikatorze projektu. Próba utworzenia dowiązania\n"
++" zwykłego do pliku w drzewie powiedzie się tylko jeśli identyfikator projektu\n"
++" pasuje do identyfikatora projektu drzewa. Można użyć narzędzia xfs_io do\n"
++" ustawienia ID projektu dla dowolnego pliku, ale może tego dokonać tylko\n"
++" uprzywilejowany użytkownik.\n"
++"\n"
++" Poprzednio ustanowione drzewa można usunąć z kontroli limitów projektu poprzez\n"
++" użycie opcji -C, która rekurencyjnie przejdzie drzewo, usuwając i-węzły spod\n"
++" kontroli limitów projektu.\n"
++"\n"
++" Opcji -c można użyć do sprawdzenia czy drzewo zostało ustanowione - nie\n"
++" informuje o niczym jeśli drzewo jest poprawne, a w przeciwnym wypadku zgłasza\n"
++" ścieżki i-węzłów nie mające ID projektu takiego jak reszta drzewa lub nie\n"
++" mające ustawionej flagi.\n"
++"\n"
++" Opcja -p <ścieżka> umożliwia podanie ścieżki projektu w linii poleceń\n"
++" bez potrzeby tworzenia pliku /etc/projects. Ta opcja może być używana\n"
++" wielokrotnie w celu przekazanie wielu ścieżek projektu. Tylko jeden\n"
++" identyfikator projektu może być podawy w linii poleceń w momencie\n"
++" używania opcji -p. Jeśli plik /etc/projects istnieje to także jest używany\n"
++" oprócz ścieżek w linii poleceń.\n"
++"\n"
++" Opcja -d <poziom> pozwala na ograniczanie zagłębiania się w podkatalogach\n"
++" projektu do granicy <poziom>. -d 0 oznacza najwyższy poziom. -d 1 oznacza\n"
++" brak limitu zagłębiania (domyślny).\n"
++"\n"
++" Format plików /etc/projid i /etc/projects jest prosty i opisany na stronie\n"
++" manuala xfs_quota.\n"
++"\n"
+-#: .././libxfs/rdwr.c:425
++#: .././quota/project.c:108 .././quota/project.c:153 .././quota/project.c:200
+ #, c-format
+-msgid "Warning: recursive buffer locking at block %<PRIu64> detected\n"
+-msgstr "Uwaga: wykryto rekurencyjną blokadę bufora na bloku %<PRIu64>\n"
++msgid "%s: cannot stat file %s\n"
++msgstr "%s: nie można wykonać stat na pliku %s\n"
+-#: .././libxfs/rdwr.c:519
++#: .././quota/project.c:112 .././quota/project.c:157 .././quota/project.c:204
+ #, c-format
+-msgid "%s: read failed: %s\n"
+-msgstr "%s: odczyt nie powiódł się: %s\n"
++msgid "%s: skipping special file %s\n"
++msgstr "%s: pominięto plik specjalny %s\n"
+-#: .././libxfs/rdwr.c:525
++#: .././quota/project.c:126
+ #, c-format
+-msgid "%s: error - read only %d of %d bytes\n"
+-msgstr "%s: błąd - odczytano tylko %d z %d bajtów\n"
++msgid "%s - project identifier is not set (inode=%u, tree=%u)\n"
++msgstr "%s - identyfikator projektu nie ustawiony (i-węzeł=%u, drzewo=%u)\n"
+-#: .././libxfs/rdwr.c:568
++#: .././quota/project.c:130
+ #, c-format
+-msgid "%s: pwrite64 failed: %s\n"
+-msgstr "%s: pwrite64 nie powiodło się: %s\n"
++msgid "%s - project inheritance flag is not set\n"
++msgstr "%s - flaga dziedziczenia projektu nie ustawiona\n"
+-#: .././libxfs/rdwr.c:574
++#: .././quota/project.c:178
+ #, c-format
+-msgid "%s: error - wrote only %d of %d bytes\n"
+-msgstr "%s: błąd - zapisano tylko %d z %d bajtów\n"
++msgid "%s: cannot clear project on %s: %s\n"
++msgstr "%s: nie można usunąć projektu z %s: %s\n"
+-#: .././libxfs/trans.c:33
++#: .././quota/project.c:225
+ #, c-format
+-msgid "%s: xact calloc failed (%d bytes): %s\n"
+-msgstr "%s: xact calloc nie powiodło się (%d bajtów): %s\n"
++msgid "%s: cannot set project on %s: %s\n"
++msgstr "%s: nie można ustawić projektu na %s: %s\n"
+-#: .././libxfs/trans.c:602
++#: .././quota/project.c:240
+ #, c-format
+-msgid "%s: warning - itobp failed (%d)\n"
+-msgstr "%s: uwaga - itobp nie powiodło się (%d)\n"
++msgid "Checking project %s (path %s)...\n"
++msgstr "Sprawdzanie projektu %s (ścieżka %s)...\n"
+-#: .././libxfs/trans.c:610
++#: .././quota/project.c:244
+ #, c-format
+-msgid "%s: warning - iflush_int failed (%d)\n"
+-msgstr "%s: uwaga - iflush_int nie powiodło się (%d)\n"
++msgid "Setting up project %s (path %s)...\n"
++msgstr "Ustanawianie projektu %s (ścieżka %s)...\n"
+-#: .././libxfs/trans.c:682 .././libxfs/trans.c:741
++#: .././quota/project.c:248
+ #, c-format
+-msgid "%s: unrecognised log item type\n"
+-msgstr "%s: nierozpoznany typ elementu logu\n"
++msgid "Clearing project %s (path %s)...\n"
++msgstr "Usuwanie projektu %s (ścieżka %s)...\n"
+-#: .././libxcmd/command.c:85
++#: .././quota/project.c:271
+ #, c-format
+-msgid "bad argument count %d to %s, expected at least %d arguments\n"
+-msgstr "błędna liczba argumentów %d dla %s, oczekiwano co najmniej %d argumentów\n"
++msgid "Processed %d (%s and cmdline) paths for project %s with recursion depth %s (%d).\n"
++msgstr ""
++"Przetworzono %d (z %s oraz z linii poleceń) ścieżek dla projektu %s\n"
++"z ograniczeniem %s (%d)\n"
+-#: .././libxcmd/command.c:89
+-#, c-format
+-msgid "bad argument count %d to %s, expected %d arguments\n"
+-msgstr "błędna liczba argumentów %d dla %s, oczekiwano %d argumentów\n"
++#: .././quota/project.c:274
++msgid "infinite"
++msgstr "nieaktywnym"
+-#: .././libxcmd/command.c:93
++#: .././quota/project.c:274
++msgid "limited"
++msgstr "aktywnym"
++
++#: .././quota/project.c:319
+ #, c-format
+-msgid "bad argument count %d to %s, expected between %d and %d arguments\n"
+-msgstr "błędna liczba argumentów %d dla %s, oczekiwano od %d do %d argumentów\n"
++msgid "projects file \"%s\" doesn't exist\n"
++msgstr "plik projektów \"%s\" nie istnieje\n"
+-#: .././libxcmd/command.c:155
++#: .././quota/project.c:326
+ #, c-format
+-msgid "cannot strdup command '%s': %s\n"
+-msgstr "nie można wykonać strdup na poleceniu '%s': %s\n"
++msgid "%s: only one projid/name can be specified when using -p <path>, %d found.\n"
++msgstr "%s: tylko jeden id projektu/nazwa może być podana kiedy opcja -p <ścieżka> jest w użyciu. Znaleziono %d.\n"
+-#: .././libxcmd/command.c:171 .././libxcmd/command.c:189
++#: .././quota/project.c:336
+ #, c-format
+-msgid "command \"%s\" not found\n"
+-msgstr "nie znaleziono polecenia \"%s\"\n"
++msgid "%s - no such project in %s or invalid project number\n"
++msgstr "%s - nie ma takiego projektu w %s lub błędny numer projektu\n"
+-#: .././libxcmd/help.c:33 .././db/help.c:40
++#: .././quota/project.c:353
++msgid "[-c|-s|-C|-d <depth>|-p <path>] project ..."
++msgstr "[-c|-s|-C| -d <poziom>|-p <ścieżka>] projekt ..."
++
++#: .././quota/project.c:356
++msgid "check, setup or clear project quota trees"
++msgstr "sprawdzenie, ustanowienie lub usunięcie drzew projektów"
++
++#: .././quota/quot.c:55
+ #, c-format
+ msgid ""
+ "\n"
+-"Use 'help commandname' for extended help.\n"
++" display a summary of filesystem ownership\n"
++"\n"
++" -a -- summarise for all local XFS filesystem mount points\n"
++" -c -- display three columns giving file size in kilobytes, number of files\n"
++"       of that size, and cumulative total of kilobytes in that size or\n"
++"       smaller file.  The last row is used as an overflow bucket and is the\n"
++"       total of all files greater than 500 kilobytes.\n"
++" -v -- display three columns containing the number of kilobytes not\n"
++"       accessed in the last 30, 60, and 90 days.\n"
++" -g -- display group summary\n"
++" -p -- display project summary\n"
++" -u -- display user summary\n"
++" -b -- display number of blocks used\n"
++" -i -- display number of inodes used\n"
++" -r -- display number of realtime blocks used\n"
++" -n -- skip identifier-to-name translations, just report IDs\n"
++" -N -- suppress the initial header\n"
++" -f -- send output to a file\n"
++" The (optional) user/group/project can be specified either by name or by\n"
++" number (i.e. uid/gid/projid).\n"
++"\n"
+ msgstr ""
+ "\n"
+-"Rozszerzony opis można uzyskać przez 'help nazwa_polecenia'.\n"
++" wyświetlenie podsumowania własności systemu plików\n"
++"\n"
++" -a - podsumowanie dla wszystkich punktów montowania systemów plików XFS\n"
++" -c - wyświetlenie trzech kolumn z rozmiarem plików w kilobajtach, liczbą\n"
++"      plików tego rozmiaru i sumą kilobajtów w plikach o tym lub mniejszym\n"
++"      rozmiarze. Ostatni wiersz podsumowuje pliki większe niż 500 kilobajtów.\n"
++" -v - wyświetlenie trzech kolumn zawierających liczbę kilobajtów, do których\n"
++"      nie było odwołań przez ostatnie 30, 60 i 90 dni.\n"
++" -g - wyświetlenie podsumowania dla grup\n"
++" -p - wyświetlenie podsumowania dla projektów\n"
++" -u - wyświetlenie podsumowania dla użytkowników\n"
++" -b - wyświetlenie liczby wykorzystanych bloków\n"
++" -i - wyświetlenie liczby wykorzystanych i-węzłów\n"
++" -r - wyświetlenie liczby wykorzystanych blików realtime\n"
++" -n - pominięcie tłumaczenia identyfikatorów na nazwy, wypisywanie ID\n"
++" -N - pominięcie początkowego nagłówka\n"
++" -f - zapisanie wyjścia do pliku\n"
++" (opcjonalny) użytkownik/grupa/projekt może być podany za pomocą nazwy lub\n"
++" numeru (tzn. uid/gid/projid).\n"
+-#: .././libxcmd/help.c:49 .././db/command.c:82 .././db/help.c:56
++#: .././quota/quot.c:220
+ #, c-format
+-msgid "command %s not found\n"
+-msgstr "nie znaleziono polecenia %s\n"
+-
+-#: .././libxcmd/help.c:92 .././db/help.c:30 .././db/io.c:48
+-msgid "[command]"
+-msgstr "[polecenie]"
+-
+-#: .././libxcmd/help.c:93 .././db/help.c:31
+-msgid "help for one or all commands"
+-msgstr "opis dla jednego lub wszystkich poleceń"
++msgid "%s (%s) %s:\n"
++msgstr "%s (%s) %s:\n"
+-#: .././libxcmd/paths.c:263
++#: .././quota/quot.c:296
+ #, c-format
+-msgid "%s: unable to extract mount options for \"%s\"\n"
+-msgstr "%s: nie udało się wydobyć opcji montowania dla \"%s\"\n"
++msgid "%s (%s):\n"
++msgstr "%s (%s):\n"
+-#: .././libxcmd/paths.c:324
++#: .././quota/quot.c:301 .././quota/quot.c:305
+ #, c-format
+-msgid "%s: getmntinfo() failed: %s\n"
+-msgstr "%s: getmntinfo() nie powiodło się: %s\n"
++msgid "%d\t%llu\t%llu\n"
++msgstr "%d\t%llu\t%llu\n"
+-#: .././libxcmd/paths.c:385
+-#, c-format
+-msgid "%s: cannot setup path for mount %s: %s\n"
+-msgstr "%s: nie można ustawić ścieżki dla montowania %s: %s\n"
++#: .././quota/quot.c:419
++msgid "[-bir] [-gpu] [-acv] [-f file]"
++msgstr "[-bir] [-gpu] [-acv] [-f plik]"
+-#: .././libxcmd/paths.c:407
+-#, c-format
+-msgid "%s: cannot find mount point for path `%s': %s\n"
+-msgstr "%s: nie można znaleźć punktu montowania dla ścieżki `%s': %s\n"
++#: .././quota/quot.c:420
++msgid "summarize filesystem ownership"
++msgstr "podsumowanie własności systemu plików"
+-#: .././libxcmd/paths.c:435
++#: .././quota/quota.c:32
+ #, c-format
+-msgid "%s: cannot setup path for project %s: %s\n"
+-msgstr "%s: nie można ustawić ścieżki dla projektu %s: %s\n"
++msgid ""
++"\n"
++" display usage and quota information\n"
++"\n"
++" -g -- display group quota information\n"
++" -p -- display project quota information\n"
++" -u -- display user quota information\n"
++" -b -- display number of blocks used\n"
++" -i -- display number of inodes used\n"
++" -r -- display number of realtime blocks used\n"
++" -h -- report in a human-readable format\n"
++" -n -- skip identifier-to-name translations, just report IDs\n"
++" -N -- suppress the initial header\n"
++" -v -- increase verbosity in reporting (also dumps zero values)\n"
++" -f -- send output to a file\n"
++" The (optional) user/group/project can be specified either by name or by\n"
++" number (i.e. uid/gid/projid).\n"
++"\n"
++msgstr ""
++"\n"
++" wyświetlenie informacji o wykorzystaniu miejsca i limitach\n"
++"\n"
++" -g - wyświetlenie informacji o limitach grup\n"
++" -p - wyświetlenie informacji o limitach projektów\n"
++" -u - wyświetlenie informacji o limitach użytkowników\n"
++" -b - wyświetlenie liczby wykorzystanych bloków\n"
++" -i - wyświetlenie liczby wykorzystanych i-węzłów\n"
++" -r - wyświetlenie liczby wykorzystanych bloków realtime\n"
++" -h - użycie formatu czytelnego dla człowieka\n"
++" -n - pominięcie tłumaczenia identyfikatorów na nazwy, wypisywanie ID\n"
++" -N - pominięcie początkowego nagłówka\n"
++" -v - zwiększenie szczegółowości (wypisywanie także wartości zerowych)\n"
++" -f - zapisanie wyjścia do pliku\n"
++" (opcjonalny) użytkownik/grupa/projekt może być podany za pomocą nazwy lub\n"
++" numeru (tzn. uid/gid/projid).\n"
+-#: .././libxcmd/paths.c:476
++#: .././quota/quota.c:84
+ #, c-format
+-msgid "%s: cannot initialise path table: %s\n"
+-msgstr "%s: nie można zainicjować tabeli ścieżek: %s\n"
++msgid ""
++"Disk quotas for %s %s (%u)\n"
++"Filesystem%s"
++msgstr ""
++"Limity dyskowe (quota) dla %s %s (%u)\n"
++"System plików%s"
+-#: .././libxcmd/paths.c:496
++#: .././quota/quota.c:89
+ #, c-format
+-msgid "%s: cannot setup path for project dir %s: %s\n"
+-msgstr "%s: nie można ustawić ścieżki dla katalogu projektu %s: %s\n"
+-
+-#: .././libxcmd/quit.c:42
+-msgid "exit the program"
+-msgstr "wyjście z programu"
++msgid " Blocks  Quota  Limit Warn/Time    "
++msgstr " Bloki   Quota  Limit Czas ostrz.  "
+-#: .././libdisk/drivers.c:35
++#: .././quota/quota.c:90
+ #, c-format
+-msgid "Cannot stat %s: %s\n"
+-msgstr "Nie można wykonać stat na %s: %s\n"
++msgid "     Blocks      Quota      Limit  Warn/Time      "
++msgstr "     Bloki       Quota      Limit  Czas ostrz.    "
+-#: .././libdisk/lvm.c:60
++#: .././quota/quota.c:93
+ #, c-format
+-msgid "Warning - LVM device, but no lvdisplay(8) found\n"
+-msgstr "Uwaga - urządzenie LVM, ale nie znaleziono lvdisplay(8)\n"
++msgid "  Files  Quota  Limit Warn/Time    "
++msgstr "  Pliki  Quota  Limit Czas ostrz.  "
+-#: .././libdisk/lvm.c:70 .././libdisk/dm.c:73
++#: .././quota/quota.c:94
+ #, c-format
+-msgid "Could not open pipe\n"
+-msgstr "Nie udało się otworzyć potoku\n"
++msgid "      Files      Quota      Limit  Warn/Time      "
++msgstr "      Pliki      Quota      Limit  Czas ostrz.    "
+-#: .././libdisk/lvm.c:85 .././libdisk/dm.c:88
++#: .././quota/quota.c:97
+ #, c-format
+-msgid "Failed to execute %s\n"
+-msgstr "Nie udało się wywołać %s\n"
++msgid "Realtime Quota  Limit Warn/Time    "
++msgstr "Realtime Quota  Limit Czas ostrz.  "
+-#: .././libdisk/lvm.c:89
++#: .././quota/quota.c:98
+ #, c-format
+-msgid "Failed forking lvdisplay process\n"
+-msgstr "Nie udało się odgałęzić procesu lvdisplay\n"
++msgid "   Realtime      Quota      Limit  Warn/Time      "
++msgstr "   Realtime      Quota      Limit  Czas ostrz.    "
+-#: .././libdisk/md.c:61
++#: .././quota/quota.c:234
+ #, c-format
+-msgid "Error getting MD array device from %s\n"
+-msgstr "Błąd podczas pobierania urządzenia macierzy MD z %s\n"
++msgid "%s: cannot find user %s\n"
++msgstr "%s: nie można odnaleźć użytkownika %s\n"
+-#: .././libdisk/md.c:68
++#: .././quota/quota.c:284
+ #, c-format
+-msgid "Couldn't malloc device string\n"
+-msgstr "Nie można przydzielić łańcucha nazwy urządzenia\n"
++msgid "%s: cannot find group %s\n"
++msgstr "%s: nie można odnaleźć grupy %s\n"
+-#: .././libdisk/md.c:84
++#: .././quota/quota.c:345
+ #, c-format
+-msgid "Error getting MD array info from %s\n"
+-msgstr "Błąd podczas pobierania informacji o macierzy MD z %s\n"
++msgid "%s: must specify a project name/ID\n"
++msgstr "%s: należy podać nazwę/ID projektu\n"
+-#: .././libdisk/dm.c:57
++#: .././quota/quota.c:358
+ #, c-format
+-msgid "Warning - device mapper device, but no dmsetup(8) found\n"
+-msgstr "Uwaga - urządzenie device mappera, ale nie znaleziono dmsetup(8)\n"
++msgid "%s: cannot find project %s\n"
++msgstr "%s: nie można odnaleźć projektu %s\n"
+-#: .././libdisk/dm.c:92
+-#, c-format
+-msgid "Failed forking dmsetup process\n"
+-msgstr "Nie udało się odgałęzić procesu dmsetup\n"
++#: .././quota/quota.c:463
++msgid "[-bir] [-gpu] [-hnNv] [-f file] [id|name]..."
++msgstr "[-bir] [-gpu] [-hnNv] [-f plik] [id|nazwa]..."
+-#: .././io/inject.c:109
++#: .././quota/quota.c:464
++msgid "show usage and limits"
++msgstr "pokazanie wykorzystania i limitów"
++
++#: .././quota/report.c:34 .././quota/report.c:636
++msgid "dump quota information for backup utilities"
++msgstr "zrzucenie informacji o limitach (quota) dla narzędzi backupowych"
++
++#: .././quota/report.c:36
+ #, c-format
+ msgid ""
+ "\n"
+-" inject errors into the filesystem of the currently open file\n"
++" create a backup file which contains quota limits information\n"
++" -g -- dump out group quota limits\n"
++" -p -- dump out project quota limits\n"
++" -u -- dump out user quota limits (default)\n"
++" -f -- write the dump out to the specified file\n"
+ "\n"
+-" Example:\n"
+-" 'inject readagf' - cause errors on allocation group freespace reads\n"
++msgstr ""
+ "\n"
+-" Causes the kernel to generate and react to errors within XFS, provided\n"
+-" the XFS kernel code has been built with debugging features enabled.\n"
+-" With no arguments, displays the list of error injection tags.\n"
++" utworzenie pliku kopii zapasowej zawierającego informacje o limitach (quota)\n"
++" -g - zrzucenie limitów dla grup\n"
++" -p - zrzucenie limitów dla projektów\n"
++" -u - zrzucenie limitów dla użytkowników (domyślne)\n"
++" -f - zapisanie zrzutu do podanego pliku\n"
++"\n"
++
++#: .././quota/report.c:48
++msgid "[-bir] [-gpu] [-ahntLNU] [-f file]"
++msgstr "[-bir] [-gpu] [-ahntLNU] [-f plik]"
++
++#: .././quota/report.c:49 .././quota/report.c:646
++msgid "report filesystem quota information"
++msgstr "raportowanie informacji o limitach (quota) w systemie plików"
++
++#: .././quota/report.c:51
++#, c-format
++msgid ""
++"\n"
++" report used space and inodes, and quota limits, for a filesystem\n"
++" Example:\n"
++" 'report -igh'\n"
++" (reports inode usage for all groups, in an easy-to-read format)\n"
++" This command is the equivalent of the traditional repquota command, which\n"
++" prints a summary of the disk usage and quotas for the current filesystem,\n"
++" or all filesystems.\n"
++" -a -- report for all mounted filesystems with quota enabled\n"
++" -h -- report in a human-readable format\n"
++" -n -- skip identifier-to-name translations, just report IDs\n"
++" -N -- suppress the header from the output\n"
++" -t -- terse output format, hides rows which are all zero\n"
++" -L -- lower ID bound to report on\n"
++" -U -- upper ID bound to report on\n"
++" -g -- report group usage and quota information\n"
++" -p -- report project usage and quota information\n"
++" -u -- report user usage and quota information\n"
++" -b -- report blocks-used information only\n"
++" -i -- report inodes-used information only\n"
++" -r -- report realtime-blocks-used information only\n"
+ "\n"
+ msgstr ""
+ "\n"
+-" wprowadzenie błędów do systemu plików aktualnie otwartego pliku\n"
++" informacje o wykorzystanym miejscu i i-węzłach oraz limitach quota dla systemu\n"
++" plików\n"
+ "\n"
+ " Przykład:\n"
+-" 'inject readagf' - spowodowanie błędów przy odczytach wolnego miejsca grup\n"
+-"                    alokacji\n"
++" 'report -igh'\n"
++" (raport o wykorzystaniu i-węzłów dla wszystkich grup w czytelnym formacie)\n"
+ "\n"
+-" inject powoduje, że jądro generuje i reaguje na błędy wewnątrz XFS-a,\n"
+-" pod warunkiem, że kod XFS-a w jądrze został zbudowany z włączonymi opcjami\n"
+-" diagnostycznymi. Bez argumentów wyświetla listę znaczników wprowadzania\n"
+-" błędów.\n"
++" To polecenie jest odpowiednikiem tradycyjnego polecenia repquota, wypisującego\n"
++" podsumowanie wykorzystania dysku i limitów dla bieżącego systemu plików lub\n"
++" wszystkich systemów plików.\n"
++" -a - informacje o wszystkich zamontowanych systemach plików z limitami\n"
++" -h - informacje w formacie czytelnym dla człowieka\n"
++" -n - pominięcie tłumaczenia identyfikatorów na nazwy, wypisywanie ID\n"
++" -N - pominięcie początkowego nagłówka\n"
++" -t - zwięzły format, ukrycie wierszy zerowych\n"
++" -L - dolna granica ID dla wypisywanych informacji\n"
++" -U - górna granica ID dla wypisywanych informacji\n"
++" -g - informacje o wykorzystanym miejscu i limitach dla grup\n"
++" -p - informacje o wykorzystanym miejscu i limitach dla projektów\n"
++" -u - informacje o wykorzystanym miejscu i limitach dla użytkowników\n"
++" -b - tylko informacje o wykorzystanych blokach\n"
++" -i - tylko informacje o wykorzystanych i-węzłach\n"
++" -r - tylko informacje o wykorzystanych blokach realtime\n"
+ "\n"
+-#: .././io/inject.c:135
++#: .././quota/report.c:228
+ #, c-format
+-msgid "no such tag -- %s\n"
+-msgstr "nie ma takiego znacznika - %s\n"
+-
+-#: .././io/inject.c:156
+-msgid "[tag ...]"
+-msgstr "[znacznik ...]"
+-
+-#: .././io/inject.c:157
+-msgid "inject errors into a filesystem"
+-msgstr "wprowadzanie błędów do systemu plików"
++msgid "%s quota on %s (%s)\n"
++msgstr "limit %s na %s (%s)\n"
+-#: .././io/getrusage.c:118
+-msgid "report process resource usage"
+-msgstr "informacje o wykorzystaniu zasobów przez proces"
++#: .././quota/report.c:253 .././quota/report.c:261
++#, c-format
++msgid "  Used   Soft   Hard Warn/Grace   "
++msgstr " Użyto  Miękki Twardy Ostrzeżenie "
+-#: .././io/freeze.c:37
++#: .././quota/report.c:254 .././quota/report.c:262
+ #, c-format
+-msgid "%s: cannot freeze filesystem at %s: %s\n"
+-msgstr "%s: nie można zamrozić systemu plików na %s: %s\n"
++msgid "      Used       Soft       Hard    Warn/Grace     "
++msgstr "     Użyto      Miękki     Twardy   Ostrzeżenie    "
+-#: .././io/freeze.c:54
++#: .././quota/report.c:257
+ #, c-format
+-msgid "%s: cannot unfreeze filesystem mounted at %s: %s\n"
+-msgstr "%s: nie można odmrozić systemu plików podmontowanego pod %s: %s\n"
++msgid "  Used   Soft   Hard Warn/Grace  "
++msgstr " Użyto  Miękki Twardy Ostrzeżenie"
+-#: .././io/freeze.c:70
+-msgid "freeze filesystem of current file"
+-msgstr "zamrożenie systemu plików na bieżącym pliku"
++#: .././quota/report.c:258
++#, c-format
++msgid "      Used       Soft       Hard    Warn/ Grace     "
++msgstr "     Użyto      Miękki     Twardy   Ostrzeżenie     "
+-#: .././io/freeze.c:77
+-msgid "unfreeze filesystem of current file"
+-msgstr "odmrożenie systemu plików na bieżącym pliku"
++#: .././quota/report.c:645
++msgid "[-bir] [-gpu] [-ahnt] [-f file]"
++msgstr "[-bir] [-gpu] [-ahnt] [-f plik]"
+-#: .././io/fiemap.c:32
++#: .././quota/state.c:33
+ #, c-format
+ msgid ""
+ "\n"
+-" prints the block mapping for a file's data or attribute forks\n"
++" turn filesystem quota off, both accounting and enforcement\n"
++"\n"
+ " Example:\n"
+-" 'fiemap -v' - tabular format verbose map\n"
++" 'off -uv'  (switch off user quota on the current filesystem)\n"
++" This command is the equivalent of the traditional quotaoff command,\n"
++" which disables quota completely on a mounted filesystem.\n"
++" Note that there is no 'on' command - for XFS filesystems (with the\n"
++" exception of the root filesystem on IRIX) quota can only be enabled\n"
++" at mount time, through the use of one of the quota mount options.\n"
+ "\n"
+-" fiemap prints the map of disk blocks used by the current file.\n"
+-" The map lists each extent used by the file, as well as regions in the\n"
+-" file that do not have any corresponding blocks (holes).\n"
+-" By default, each line of the listing takes the following form:\n"
+-"     extent: [startoffset..endoffset]: startblock..endblock\n"
+-" Holes are marked by replacing the startblock..endblock with 'hole'.\n"
+-" All the file offsets and disk blocks are in units of 512-byte blocks.\n"
+-" -a -- prints the attribute fork map instead of the data fork.\n"
+-" -l -- also displays the length of each extent in 512-byte blocks.\n"
+-" -n -- query n extents.\n"
+-" -v -- Verbose information\n"
++" The state command is useful for displaying the current state.  Using\n"
++" the -v (verbose) option with the 'off' command will display the quota\n"
++" state for the affected filesystem once the operation is complete.\n"
++" The affected quota type is -g (groups), -p (projects) or -u (users)\n"
++" and defaults to user quota (multiple types can be specified).\n"
+ "\n"
+ msgstr ""
+ "\n"
+-" wypisanie mapowania bloków dla danych lub atrybutów pliku\n"
++" wyłączenie podsystemu quota (zarówno rozliczania jak i wymuszania)\n"
++"\n"
+ " Przykład:\n"
+-" 'fiemap -v' - szczegółowa mapa w formacie tabeli\n"
++" 'off -uv'  (wyłączenie limitów użytkownika w bieżącym systemie plików)\n"
+ "\n"
+-" fiemap wypisuje mapę bloków dysku używanych przez bieżący plik.\n"
+-" Mapa opisuje każdy ekstent użyty przez plik, a także regiony w pliku\n"
+-" nie mające przypisanych bloków (dziury).\n"
+-" Domyślnie każda linia listingu przyjmuje następującą postać:\n"
+-"     ekstent: [offsetpocz..offsetkońc]: blokpocz..blokkońc\n"
+-" Dziury są oznaczane przez zastąpienie blokpocz..blokkońc przez 'dziura'.\n"
+-" Wszystkie offsety w plikach i bloki dysku są w jednostkach 512-bajtowych.\n"
+-" -a - wypisanie mapy gałęzi atrybutów zamiast gałęzi danych.\n"
+-" -l - wyświetlenie także długości każdego fragmentu w 512-bajtowych blokach.\n"
+-" -n - odpytanie n ekstentów.\n"
+-" -v - szczegółowe informacje\n"
++" To polecenie jest odpowiednikiem tradycyjnego polecenia quotaoff,\n"
++" wyłączającego całkowicie limity na podmontowanym systemie plików.\n"
++" Należy zauważyć, że nie ma polecenia 'on' - dla systemów plików XFS\n"
++" (z wyjątkiem głównego systemu plików pod systemem IRIX) limity można\n"
++" włączyć wyłącznie na etapie montowania, poprzez użycie jednej z opcji\n"
++" quota programu mount.\n"
++"\n"
++" Polecenie state jest przydatne do wyświetlania aktualnego stanu. Użycie\n"
++" opcji -v (szczegółowość) dla polecenia 'off' wyświetli stan quoty dla\n"
++" danego systemu plików po zakończeniu operacji.\n"
++" Rodzaj limitu którego dotyczy polecenie można wybrać opcją -g (grupy),\n"
++" -p (projekty) lub -u (użytkownicy); domyślnie polecenie dotyczy limitów\n"
++" użytkowników (można podać wiele rodzajów).\n"
+ "\n"
+-#: .././io/fiemap.c:97 .././io/fiemap.c:317 .././io/fiemap.c:321
+-#: .././io/bmap.c:251 .././io/bmap.c:379
+-#, c-format
+-msgid "hole"
+-msgstr "dziura"
+-
+-#: .././io/fiemap.c:139 .././io/fiemap.c:153 .././io/fiemap.c:323
+-#, c-format
+-msgid " %llu blocks\n"
+-msgstr " %llu bloków\n"
+-
+-#: .././io/fiemap.c:210 .././io/bmap.c:149
++#: .././quota/state.c:56
+ #, c-format
+-msgid "%s: malloc of %d bytes failed.\n"
+-msgstr "%s: przydzielenie %d bajtów nie powiodło się.\n"
+-
+-#: .././io/fiemap.c:243 .././io/bmap.c:339
+-msgid "EXT"
+-msgstr "EXT"
+-
+-#: .././io/fiemap.c:244 .././io/bmap.c:340
+-msgid "FILE-OFFSET"
+-msgstr "OFFSET-W-PLIKU"
+-
+-#: .././io/fiemap.c:245 .././io/bmap.c:341
+-msgid "BLOCK-RANGE"
+-msgstr "ZAKRES-BLOKÓW"
+-
+-#: .././io/fiemap.c:246 .././io/bmap.c:344
+-msgid "TOTAL"
+-msgstr "RAZEM"
+-
+-#: .././io/fiemap.c:247
+-msgid "FLAGS"
+-msgstr "FLAGI"
+-
+-#: .././io/fiemap.c:343
+-msgid "[-alv] [-n nx]"
+-msgstr "[-alv] [-n nx]"
+-
+-#: .././io/fiemap.c:344
+-msgid "print block mapping for a file"
+-msgstr "wypisanie mapowania bloków dla pliku"
++msgid ""
++"\n"
++" query the state of quota on the current filesystem\n"
++"\n"
++" This is a verbose status command, reporting whether or not accounting\n"
++" and/or enforcement are enabled for a filesystem, which inodes are in\n"
++" use as the quota state inodes, and how many extents and blocks are\n"
++" presently being used to hold that information.\n"
++" The quota type is specified via -g (groups), -p (projects) or -u (users)\n"
++" and defaults to user quota (multiple types can be specified).\n"
++"\n"
++msgstr ""
++"\n"
++" odczytanie stanu podsystemu quota w bieżącym systemie plików\n"
++"\n"
++" Jest to polecenie szczegółowo informujące o stanie, opisujące czy włączone\n"
++" jest rozliczanie i/lub wymuszanie limitów w systemie plików, które i-węzły\n"
++" są wykorzystywane jako i-węzły stanu quot oraz ile ekstentów i bloków jest\n"
++" aktualnie używana do przechowywania tych informacji.\n"
++" Rodzaj limitów podaje się opcją -g (grupy), -p (projekty) lub -u (użytkownicy);\n"
++" domyślnie polecenie dotyczy limitów użytkowników (można podać wiele rodzajów).\n"
++"\n"
+-#: .././io/imap.c:53
++#: .././quota/state.c:72
+ #, c-format
+-msgid "ino %10llu count %2d mask %016llx\n"
+-msgstr "i-węzeł %10llu liczba %2d maska %016llx\n"
+-
+-#: .././io/imap.c:71
+-msgid "[nentries]"
+-msgstr "[liczba_wpisów]"
+-
+-#: .././io/imap.c:73
+-msgid "inode map for filesystem of current file"
+-msgstr "map i-węzłów dla systemu plików bieżącego pliku"
++msgid ""
++"\n"
++" enable quota enforcement on a filesystem\n"
++"\n"
++" If a filesystem is mounted and has quota accounting enabled, but not\n"
++" quota enforcement, enforcement can be enabled with this command.\n"
++" With the -v (verbose) option, the status of the filesystem will be\n"
++" reported after the operation is complete.\n"
++" The affected quota type is -g (groups), -p (projects) or -u (users)\n"
++" and defaults to user quota (multiple types can be specified).\n"
++"\n"
++msgstr ""
++"\n"
++" włączenie wymuszania limitów w systemie plików\n"
++"\n"
++" Jeśli system plików jest podmontowany i ma włączone rozliczanie limitów,\n"
++" ale nie ma wymuszania limitów, można włączyć wymuszanie tym poleceniem.\n"
++" Z opcją -v (szczegółowość) po zakończeniu operacji zostanie zraportowany\n"
++" stan systemu plików.\n"
++" Rodzaj limitów podaje się opcją -g (grupy), -p (projekty) lub -u (użytkownicy);\n"
++" domyślnie polecenie dotyczy limitów użytkowników (można podać wiele rodzajów).\n"
++"\n"
+-#: .././io/madvise.c:32
++#: .././quota/state.c:88
+ #, c-format
+ msgid ""
+ "\n"
+-" advise the page cache about access patterns expected for a mapping\n"
++" disable quota enforcement on a filesystem\n"
+ "\n"
+-" Modifies page cache behavior when operating on the current mapping.\n"
+-" The range arguments are required by some advise commands ([*] below).\n"
+-" With no arguments, the POSIX_MADV_NORMAL advice is implied.\n"
+-" -d -- don't need these pages (POSIX_MADV_DONTNEED) [*]\n"
+-" -r -- expect random page references (POSIX_MADV_RANDOM)\n"
+-" -s -- expect sequential page references (POSIX_MADV_SEQUENTIAL)\n"
+-" -w -- will need these pages (POSIX_MADV_WILLNEED) [*]\n"
+-" Notes:\n"
+-"   NORMAL sets the default readahead setting on the file.\n"
+-"   RANDOM sets the readahead setting on the file to zero.\n"
+-"   SEQUENTIAL sets double the default readahead setting on the file.\n"
+-"   WILLNEED forces the maximum readahead.\n"
++" If a filesystem is mounted and is currently enforcing quota, this\n"
++" provides a mechanism to switch off the enforcement, but continue to\n"
++" perform used space (and used inodes) accounting.\n"
++" The affected quota type is -g (groups), -p (projects) or -u (users).\n"
+ "\n"
+ msgstr ""
+ "\n"
+-" doradzenie buforowi stron w sprawie oczekiwanych schematów dostępu do odwzorowań\n"
++" wyłączenie wymuszania limitów w systemie plików\n"
+ "\n"
+-" madvise modyfikuje zachowanie bufora stron przy operacjach na bieżącym\n"
+-" odwzorowaniu. Niektóre polecenia madvise ([*] poniżej) wymagają podania zakresu.\n"
+-" Bez argumentów zakłada się doradzenie POSIX_MADV_NORMAL.\n"
+-" -d - podane strony nie są wymagane (POSIX_MADV_DONTNEED) [*]\n"
+-" -r - należy oczekiwać losowych odwołań do stron (POSIX_MADV_RANDOM)\n"
+-" -s - należy oczekiwać sekwencyjnych odwołań do stron (POSIX_MADV_SEQUENTIAL)\n"
+-" -w - podane strony będą potrzebne (POSIX_MADV_WILLNEED) [*]\n"
+-" Uwagi:\n"
+-"  NORMAL ustawia domyślną wartość czytania z wyprzedzeniem dla pliku.\n"
+-"  RANDOM ustawia czytanie z wyprzedzeniem dla pliku na zero.\n"
+-"  SEQUENTIAL ustawia podwójną domyślną wartość czytania z wyprzedzeniem.\n"
+-"  WILLNEED wymusza maksymalne czytanie z wyprzedzeniem.\n"
++" Jeśli system plików jest podmontowany i aktualnie wymusza przestrzeganie\n"
++" limitów, tym poleceniem można wyłączyć wymuszanie, ale nadal pozostawić\n"
++" rozliczanie wykorzystanego miejsca (oraz i-węzłów).\n"
++" Rodzaj limitów podaje się opcją -g (grupy), -p (projekty) lub -u (użytkownicy).\n"
+ "\n"
+-#: .././io/madvise.c:87 .././io/mincore.c:48 .././io/mmap.c:206
+-#: .././io/mmap.c:301 .././io/mmap.c:387 .././io/mmap.c:546
+-#: .././io/prealloc.c:55 .././io/pwrite.c:284 .././io/sendfile.c:126
+-#: .././io/fadvise.c:92
++#: .././quota/state.c:102
+ #, c-format
+-msgid "non-numeric offset argument -- %s\n"
+-msgstr "nieliczbowy argument będący offsetem - %s\n"
++msgid ""
++"\n"
++" remove any space being used by the quota subsystem\n"
++"\n"
++" Once quota has been switched 'off' on a filesystem, the space that\n"
++" was allocated to holding quota metadata can be freed via this command.\n"
++" The affected quota type is -g (groups), -p (projects) or -u (users)\n"
++" and defaults to user quota (multiple types can be specified).\n"
++"\n"
++msgstr ""
++"\n"
++" zwolnienie miejsca zajmowanego przez podsystem quota\n"
++"\n"
++" Po wyłączeniu limitów dla systemu plików można tym poleceniem zwolnić miejsce\n"
++" przydzielone na przechowywanie metadanych quot.\n"
++" Rodzaj limitów podaje się opcją -g (grupy), -p (projekty) lub -u (użytkownicy);\n"
++" domyślnie polecenie dotyczy limitów użytkowników (można podać wiele rodzajów).\n"
++"\n"
+-#: .././io/madvise.c:94 .././io/mincore.c:54 .././io/mmap.c:212
+-#: .././io/mmap.c:308 .././io/mmap.c:394 .././io/mmap.c:553
+-#: .././io/pread.c:330 .././io/pread.c:338 .././io/prealloc.c:60
+-#: .././io/pwrite.c:290 .././io/sendfile.c:133 .././io/fadvise.c:99
++#: .././quota/state.c:121
+ #, c-format
+-msgid "non-numeric length argument -- %s\n"
+-msgstr "nieliczbowy argument będący długością - %s\n"
++msgid "%s quota state on %s (%s)\n"
++msgstr "stan limitów %s na %s (%s)\n"
+-#: .././io/madvise.c:98 .././io/mincore.c:58
++#: .././quota/state.c:123
+ #, c-format
+-msgid "length argument too large -- %lld\n"
+-msgstr "zbyt duży argument będący długością - %lld\n"
++msgid "  Accounting: %s\n"
++msgstr "  Rozliczanie: %s\n"
+-#: .././io/madvise.c:127
+-msgid "[-drsw] [off len]"
+-msgstr "[-drsw] [offset długość]"
++#: .././quota/state.c:123 .././quota/state.c:124
++msgid "ON"
++msgstr "WŁĄCZONE"
+-#: .././io/madvise.c:128
+-msgid "give advice about use of memory"
+-msgstr "doradzenie w sprawie użycia pamięci"
++#: .././quota/state.c:123 .././quota/state.c:124
++msgid "OFF"
++msgstr "WYŁĄCZONE"
+-#: .././io/mincore.c:92 .././io/mincore.c:102
++#: .././quota/state.c:124
+ #, c-format
+-msgid "0x%lx  %lu pages (%llu : %lu)\n"
+-msgstr "0x%lx  %lu stron (%llu : %lu)\n"
+-
+-#: .././io/mincore.c:122
+-msgid "[off len]"
+-msgstr "[offset długość]"
+-
+-#: .././io/mincore.c:123
+-msgid "find mapping pages that are memory resident"
+-msgstr "odnalezienie stron odwzorowań przechowywanych w pamięci"
++msgid "  Enforcement: %s\n"
++msgstr "  Wymuszanie: %s\n"
+-#: .././io/mmap.c:76
++#: .././quota/state.c:126
+ #, c-format
+-msgid "offset (%lld) is before start of mapping (%lld)\n"
+-msgstr "offset (%lld) przed początkiem odwzorowania (%lld)\n"
++msgid "  Inode: #%llu (%llu blocks, %lu extents)\n"
++msgstr "  I-węzeł: #%llu (%llu bloków, %lu ekstentów)\n"
+-#: .././io/mmap.c:82
++#: .././quota/state.c:131
+ #, c-format
+-msgid "offset (%lld) is beyond end of mapping (%lld)\n"
+-msgstr "offset (%lld) za końcem odwzorowania (%lld)\n"
++msgid "  Inode: N/A\n"
++msgstr "  I-węzeł: N/A\n"
+-#: .././io/mmap.c:87
++#: .././quota/state.c:140
+ #, c-format
+-msgid "range (%lld:%lld) is beyond mapping (%lld:%ld)\n"
+-msgstr "przedział (%lld:%lld) poza odwzorowaniem (%lld:%ld)\n"
++msgid "%s grace time: %s\n"
++msgstr "czas pobłażliwości %s: %s\n"
+-#: .././io/mmap.c:93
++#: .././quota/state.c:157
+ #, c-format
+-msgid "offset address (%p) is not page aligned\n"
+-msgstr "adres offsetu (%p) nie jest wyrównany do rozmiaru strony\n"
++msgid "%s quota are not enabled on %s\n"
++msgstr "Limity %s nie są włączone na %s\n"
+-#: .././io/mmap.c:133
+-#, c-format
+-msgid ""
+-"\n"
+-" maps a range within the current file into memory\n"
+-"\n"
+-" Example:\n"
+-" 'mmap -rw 0 1m' - maps one megabyte from the start of the current file\n"
+-"\n"
+-" Memory maps a range of a file for subsequent use by other xfs_io commands.\n"
+-" With no arguments, mmap shows the current mappings.  The current mapping\n"
+-" can be set by using the single argument form (mapping number or address).\n"
+-" If two arguments are specified (a range), a new mapping is created and the\n"
+-" following options are available:\n"
+-" -r -- map with PROT_READ protection\n"
+-" -w -- map with PROT_WRITE protection\n"
+-" -x -- map with PROT_EXEC protection\n"
+-" If no protection mode is specified, all are used by default.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" odwzorowanie przedziału z bieżącego pliku w pamięci\n"
+-"\n"
+-"Przykład:\n"
+-" 'mmap -rw 0 1m' - odwzorowuje 1MB od początku bieżącego pliku\n"
+-"\n"
+-" mmap odwzorowuje w pamięci przedział z pliku do dalszego wykorzystania przez\n"
+-" inne polecenia xfs_io.\n"
+-" Bez argumentów mmap pokazuje aktualne odwzorowania. Bieżące odwzorowanie\n"
+-" można ustawić przy użyciu formy jednoargumentowej (mmap numer lub adres).\n"
+-" Jeśli podano dwa argumenty (przedział), tworzone jest nowe odwzorowanie\n"
+-" i dostępne są następujące opcje:\n"
+-" -r - odwzorowanie z ochroną PROT_READ\n"
+-" -w - odwzorowanie z ochroną PROT_WRITE\n"
+-" -x - odwzorowanie z ochroną PROT_EXEC\n"
+-" Jeśli nie podano trybu ochrony, domyślnie używane są wszystkie.\n"
+-"\n"
++#: .././quota/state.c:527 .././quota/state.c:543 .././quota/state.c:551
++#: .././quota/state.c:559
++msgid "[-gpu] [-v]"
++msgstr "[-gpu] [-v]"
+-#: .././io/mmap.c:167 .././io/mmap.c:174 .././io/init.c:105
+-#, c-format
+-msgid "no mapped regions, try 'help mmap'\n"
+-msgstr "nie ma podmapowanych regionów, spróbuj 'help mmap'\n"
++#: .././quota/state.c:528
++msgid "permanently switch quota off for a path"
++msgstr "wyłączenie limitów na stałe dla ścieżki"
+-#: .././io/mmap.c:168 .././io/mmap.c:175 .././io/mmap.c:178 .././io/init.c:101
+-#: .././io/open.c:273
+-#, c-format
+-msgid "no files are open, try 'help open'\n"
+-msgstr "nie ma otwartych plików, spróbuj 'help open'\n"
++#: .././quota/state.c:535
++msgid "[-gpu] [-a] [-v] [-f file]"
++msgstr "[-gpu] [-a] [-v] [-f plik]"
+-#: .././io/mmap.c:254
+-#, c-format
+-msgid ""
+-"\n"
+-" flushes a range of bytes in the current memory mapping\n"
+-"\n"
+-" Writes all modified copies of pages over the specified range (or entire\n"
+-" mapping if no range specified) to their backing storage locations.  Also,\n"
+-" optionally invalidates so that subsequent references to the pages will be\n"
+-" obtained from their backing storage locations (instead of cached copies).\n"
+-" -a -- perform asynchronous writes (MS_ASYNC)\n"
+-" -i -- invalidate mapped pages (MS_INVALIDATE)\n"
+-" -s -- perform synchronous writes (MS_SYNC)\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" zrzucenie przedziału bajtów w bieżącym odwzorowaniu pamięci\n"
+-"\n"
+-" msync zapisuje wszystkie zmodyfikowane kopie stron z podanego przedziału\n"
+-" (lub całego odwzorowania, jeśli nie podano przedziału) do miejsca\n"
+-" przechowywania danych. Opcjonalnie unieważnia bufor, żeby dalsze odwołania\n"
+-" do tych stron odbywały się z miejsca przechowywania danych (zamiast kopii\n"
+-" w pamięci podręcznej).\n"
+-" -a - wykonanie zapisu asynchronicznego (MS_ASYNC)\n"
+-" -i - unieważnienie odwzorowanych stron (MS_INVALIDATE)\n"
+-" -s - wykonanie zapisu synchronicznego (MS_SYNC)\n"
+-"\n"
++#: .././quota/state.c:536
++msgid "get overall quota state information"
++msgstr "uzyskanie ogólnych informacji o stanie quot"
+-#: .././io/mmap.c:330
++#: .././quota/state.c:544
++msgid "enable quota enforcement"
++msgstr "włączenie wymuszania limitów"
++
++#: .././quota/state.c:552
++msgid "disable quota enforcement"
++msgstr "wyłączenie wymuszania limitów"
++
++#: .././quota/state.c:560
++msgid "remove quota extents from a filesystem"
++msgstr "usunięcie ekstentów związanych z limitami z systemu plików"
++
++#: .././quota/util.c:59
+ #, c-format
+-msgid ""
+-"\n"
+-" reads a range of bytes in the current memory mapping\n"
+-"\n"
+-" Example:\n"
+-" 'mread -v 512 20' - dumps 20 bytes read from 512 bytes into the mapping\n"
+-"\n"
+-" Accesses a range of the current memory mapping, optionally dumping it to\n"
+-" the standard output stream (with -v option) for subsequent inspection.\n"
+-" -f -- verbose mode, dump bytes with offsets relative to start of file.\n"
+-" -r -- reverse order; start accessing from the end of range, moving backward\n"
+-" -v -- verbose mode, dump bytes with offsets relative to start of mapping.\n"
+-" The accesses are performed sequentially from the start offset by default.\n"
+-" Notes:\n"
+-"   References to whole pages following the end of the backing file results\n"
+-"   in delivery of the SIGBUS signal.  SIGBUS signals may also be delivered\n"
+-"   on various filesystem conditions, including quota exceeded errors, and\n"
+-"   for physical device errors (such as unreadable disk blocks).  No attempt\n"
+-"   has been made to catch signals at this stage...\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" odczytanie przedziału bajtów w bieżącym odwzorowaniu pamięci\n"
+-"\n"
+-" Przykład:\n"
+-" 'mread -v 512 20' - zrzucenie 20 bajtów odczytanych od 512 bajtu\n"
+-"                     w odwzorowaniu\n"
+-"\n"
+-" mread odwołuje się do przedziału bieżącego odwzorowania pamięci, opcjonalnie\n"
+-" zrzucając go na strumień standardowego wyjścia (z opcją -v) do dalszych badań.\n"
+-" -f - tryb szczegółowy, zrzucenie bajtów z offsetami względem początku pliku.\n"
+-" -r - odwrotna kolejność; dostęp począwszy od końca przedziału do początku.\n"
+-" -v - tryb szczegółowy, zrzucenie bajtów z offsetami względem początku\n"
+-" odwzorowania.\n"
+-" Dostępy są wykonywane sekwencyjnie, domyślnie od offsetu początkowego.\n"
+-" Uwagi:\n"
+-"   Odwołania do całych stron za końcem pliku powodują w efekcie sygnał SIGBUS.\n"
+-"   Sygnały SIGBUS mogą być wywołane także przy różnych zdarzeniach związanych\n"
+-"   z systemem plików, włącznie z błędami przekroczenia limitów (quota) oraz\n"
+-"   fizycznymi błędami urządzenia (takimi jak nieczytelne bloki dysku). Na tym\n"
+-"   etapie nie ma prób wyłapania sygnałów...\n"
+-"\n"
++msgid "[-none-]"
++msgstr "[-brak-]"
+-#: .././io/mmap.c:494
++#: .././quota/util.c:59
+ #, c-format
+-msgid ""
+-"\n"
+-" dirties a range of bytes in the current memory mapping\n"
+-"\n"
+-" Example:\n"
+-" 'mwrite 512 20 - writes 20 bytes at 512 bytes into the current mapping.\n"
+-"\n"
+-" Stores a byte into memory for a range within a mapping.\n"
+-" The default stored value is 'X', repeated to fill the range specified.\n"
+-" -S -- use an alternate seed character\n"
+-" -r -- reverse order; start storing from the end of range, moving backward\n"
+-" The stores are performed sequentially from the start offset by default.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" zmiana przedziału bajtów w bieżącym odwzorowaniu pamięci\n"
+-"\n"
+-" Przykład:\n"
+-" 'mwrite 512 20' - zapisuje 20 bajtów od 512 bajtu w bieżącym odwzorowaniu.\n"
+-"\n"
+-" mwrite zapisuje bajt do przedziału pamięci w ramach odwzorowania.\n"
+-" Domyślnie zapisywaną wartością jest 'X', powtarzane do wypełnienia przedziału.\n"
+-" -S - użycie alternatywnego znaku\n"
+-" -r - odwrotna kolejność; rozpoczęcie zapisywania od końca przedziału do\n"
+-" początku\n"
+-" Zapisy są wykonywane kolejno, domyślnie od offsetu początkowego.\n"
+-"\n"
++msgid "[--none--]"
++msgstr "[--brak--]"
+-#: .././io/mmap.c:530 .././io/pread.c:315 .././io/pwrite.c:251
+-#: .././io/pwrite.c:270
++#: .././quota/util.c:62
+ #, c-format
+-msgid "non-numeric seed -- %s\n"
+-msgstr "nieliczbowy zarodek - %s\n"
++msgid "[------]"
++msgstr "[------]"
+-#: .././io/mmap.c:586
+-msgid "[N] | [-rwx] [off len]"
+-msgstr "[N] | [-rwx] [offset długość]"
++#: .././quota/util.c:62
++#, c-format
++msgid "[--------]"
++msgstr "[--------]"
+-#: .././io/mmap.c:588
+-msgid "mmap a range in the current file, show mappings"
+-msgstr "odwzorowanie przedziału w bieżącym pliku, pokazanie odwzorowań"
++# XXX: ngettext()
++#: .././quota/util.c:66 .././quota/util.c:69
++msgid "day"
++msgstr "dzień"
+-#: .././io/mmap.c:597
+-msgid "[-r] [off len]"
+-msgstr "[-r] [offset długość]"
++#: .././quota/util.c:66 .././quota/util.c:69
++msgid "days"
++msgstr "dni"
+-#: .././io/mmap.c:599
+-msgid "reads data from a region in the current memory mapping"
+-msgstr "odczyt danych z regionu w bieżącym odwzorowaniu pamięci"
++#: .././quota/util.c:194
++msgid "Blocks"
++msgstr "Bloki"
+-#: .././io/mmap.c:608
+-msgid "[-ais] [off len]"
+-msgstr "[-ais] [offset długość]"
++#: .././quota/util.c:194
++msgid "Inodes"
++msgstr "I-węzły"
+-#: .././io/mmap.c:609
+-msgid "flush a region in the current memory mapping"
+-msgstr "zrzucenie regionu w bieżącym odwzorowaniu pamięci"
++#: .././quota/util.c:194
++msgid "Realtime Blocks"
++msgstr "Bloki realtime"
+-#: .././io/mmap.c:618
+-msgid "unmaps the current memory mapping"
+-msgstr "usunięcie bieżącego odwzorowania pamięci"
++#: .././quota/util.c:209
++msgid "User"
++msgstr "użytkowników"
+-#: .././io/mmap.c:626
+-msgid "[-r] [-S seed] [off len]"
+-msgstr "[-r] [-S wartość] [offset długość]"
++#: .././quota/util.c:209
++msgid "Group"
++msgstr "grup"
+-#: .././io/mmap.c:628
+-msgid "writes data into a region in the current memory mapping"
+-msgstr "zapis danych do regionu w bieżącym odwzorowaniu pamięci"
++#: .././quota/util.c:209
++msgid "Project"
++msgstr "projektów"
+-#: .././io/parent.c:49
++#: .././quota/util.c:417
+ #, c-format
+-msgid "%s%s"
+-msgstr "%s%s"
++msgid "%s: open on %s failed: %s\n"
++msgstr "%s: open dla %s nie powiodło się: %s\n"
+-#: .././io/parent.c:54
++#: .././quota/util.c:423
+ #, c-format
+-msgid "inode-path for inode: %llu is incorrect - path \"%s\" non-existent\n"
+-msgstr "inode-path dla i-węzła: %llu jest niepoprawna - ścieżka \"%s\" nie istnieje\n"
++msgid "%s: fdopen on %s failed: %s\n"
++msgstr "%s: fdopen dla %s nie powiodło się: %s\n"
+-#: .././io/parent.c:58
++#: .././repair/agheader.c:40
+ #, c-format
+-msgid "path \"%s\" does not stat for inode: %llu; err = %s\n"
+-msgstr "ścieżka \"%s\" nie pozwala na stat dla i-węzła: %llu; błąd = %s\n"
++msgid "bad magic # 0x%x for agf %d\n"
++msgstr "błędna liczba magiczna 0x%x dla agf %d\n"
+-#: .././io/parent.c:67
++#: .././repair/agheader.c:49
+ #, c-format
+-msgid "path \"%s\" found\n"
+-msgstr "ścieżki \"%s\" nie znaleziono\n"
++msgid "bad version # %d for agf %d\n"
++msgstr "błędny numer wersji %d dla agf %d\n"
+-#: .././io/parent.c:73
++#: .././repair/agheader.c:58
+ #, c-format
+-msgid "inode-path for inode: %llu is incorrect - wrong inode#\n"
+-msgstr "inode-path dla i-węzła: %llu jest niepoprawna - niewłaściwy numer i-węzła\n"
++msgid "bad sequence # %d for agf %d\n"
++msgstr "błędny numer sekwencji %d dla agf %d\n"
+-#: .././io/parent.c:77 .././io/parent.c:107
++#: .././repair/agheader.c:68
+ #, c-format
+-msgid "ino mismatch for path \"%s\" %llu vs %llu\n"
+-msgstr "niezgodność i-węzła dla ścieżki \"%s\" %llu vs %llu\n"
++msgid "bad length %d for agf %d, should be %d\n"
++msgstr "błędna długość %d dla agf %d, powinno być %d\n"
+-#: .././io/parent.c:85
++#: .././repair/agheader.c:81
+ #, c-format
+-msgid "inode number match: %llu\n"
+-msgstr "zgodność numeru i-węzła: %llu\n"
++msgid "bad length %d for agf %d, should be %<PRIu64>\n"
++msgstr "błędna długość %d dla agf %d, powinno być %<PRIu64>\n"
+-#: .././io/parent.c:95
++#: .././repair/agheader.c:95
+ #, c-format
+-msgid "parent path \"%s\" does not stat: %s\n"
+-msgstr "ścieżka nadrzędna \"%s\" nie pozwala na stat: %s\n"
++msgid "flfirst %d in agf %d too large (max = %zu)\n"
++msgstr "flfirst %d w agf %d zbyt duże (maksimum = %zu)\n"
+-#: .././io/parent.c:103
++#: .././repair/agheader.c:103
+ #, c-format
+-msgid "inode-path for inode: %llu is incorrect - wrong parent inode#\n"
+-msgstr "inode-path dla i-węzła: %llu jest niepoprawna - niewłaściwy numer i-węzła nadrzędnego\n"
++msgid "fllast %d in agf %d too large (max = %zu)\n"
++msgstr "fllast %d w agf %d zbyt duże (maksimum = %zu)\n"
+-#: .././io/parent.c:116
++#: .././repair/agheader.c:120
+ #, c-format
+-msgid "parent ino match for %llu\n"
+-msgstr "zgodność numeru i-węzła nadrzędnego dla %llu\n"
++msgid "bad uuid %s for agf %d\n"
++msgstr "błędny uuid %s dla agf %d\n"
+-#: .././io/parent.c:138
++#: .././repair/agheader.c:138
+ #, c-format
+-msgid "parentpaths failed for ino %llu: %s\n"
+-msgstr "parentpaths nie powiodło się dla i-węzła %llu: %s\n"
++msgid "bad magic # 0x%x for agi %d\n"
++msgstr "błędna liczba magiczna 0x%x dla agi %d\n"
+-#: .././io/parent.c:149
++#: .././repair/agheader.c:147
+ #, c-format
+-msgid "inode-path for inode: %llu is missing\n"
+-msgstr "brak inode-path dla i-węzła: %llu\n"
++msgid "bad version # %d for agi %d\n"
++msgstr "błędny numer wersji %d dla agi %d\n"
+-#: .././io/parent.c:173
++#: .././repair/agheader.c:156
+ #, c-format
+-msgid "can't stat mount point \"%s\": %s\n"
+-msgstr "nie można wykonać stat na punkcie montowania \"%s\": %s\n"
++msgid "bad sequence # %d for agi %d\n"
++msgstr "błędny numer sekwencji %d dla agi %d\n"
+-#: .././io/parent.c:194
++#: .././repair/agheader.c:166
+ #, c-format
+-msgid "failed to get bulkstat information for inode %llu\n"
+-msgstr "nie udało się uzyskać informacji bulkstat dla i-węzła %llu\n"
++msgid "bad length # %d for agi %d, should be %d\n"
++msgstr "błędna długość %d dla agi %d, powinno być %d\n"
+-#: .././io/parent.c:200
++#: .././repair/agheader.c:179
+ #, c-format
+-msgid "failed to get valid bulkstat information for inode %llu\n"
+-msgstr "nie udało się uzyskać prawidłowych informacji bulkstat dla i-węzła %llu\n"
++msgid "bad length # %d for agi %d, should be %<PRIu64>\n"
++msgstr "błędna długość %d dla agi %d, powinno być %<PRIu64>\n"
+-#: .././io/parent.c:212
++#: .././repair/agheader.c:198
+ #, c-format
+-msgid "checking inode %llu\n"
+-msgstr "sprawdzanie i-węzła %llu\n"
++msgid "bad uuid %s for agi %d\n"
++msgstr "błędny uuid %s dla agi %d\n"
+-#: .././io/parent.c:227
++#: .././repair/agheader.c:298
+ #, c-format
+-msgid "syssgi bulkstat failed: %s\n"
+-msgstr "syssgi bulkstat nie powiodło się: %s\n"
++msgid "zeroing unused portion of %s superblock (AG #%u)\n"
++msgstr "zerowanie nieużywanej części superbloku %s (AG #%u)\n"
+-#: .././io/parent.c:249
+-#, c-format
+-msgid "unable to open \"%s\" for jdm: %s\n"
+-msgstr "nie udało się otworzyć \"%s\" dla jdm: %s\n"
++#: .././repair/agheader.c:299 .././repair/agheader.c:314
++msgid "primary"
++msgstr "głównego"
+-#: .././io/parent.c:259
+-#, c-format
+-msgid "unable to allocate buffers: %s\n"
+-msgstr "nie udało się przydzielić buforów: %s\n"
++#: .././repair/agheader.c:299 .././repair/agheader.c:314
++msgid "secondary"
++msgstr "zapasowego"
+-#: .././io/parent.c:268
++#: .././repair/agheader.c:313
+ #, c-format
+-msgid "num errors: %d\n"
+-msgstr "liczba błędów: %d\n"
++msgid "would zero unused portion of %s superblock (AG #%u)\n"
++msgstr "nieużywana część superbloku %s (AG #%u) zostałaby wyzerowana\n"
+-#: .././io/parent.c:270
++#: .././repair/agheader.c:331
+ #, c-format
+-msgid "succeeded checking %llu inodes\n"
+-msgstr "udało się sprawdzić %llu i-węzłów\n"
++msgid "bad flags field in superblock %d\n"
++msgstr "błędne pole flag w superbloku %d\n"
+-#: .././io/parent.c:281
++#: .././repair/agheader.c:348
+ #, c-format
+-msgid "p_ino    = %llu\n"
+-msgstr "p_ino    = %llu\n"
++msgid "non-null user quota inode field in superblock %d\n"
++msgstr "niezerowe pole i-węzła limitów użytkowników w superbloku %d\n"
+-#: .././io/parent.c:282
++#: .././repair/agheader.c:361
+ #, c-format
+-msgid "p_gen    = %u\n"
+-msgstr "p_gen    = %u\n"
++msgid "non-null group quota inode field in superblock %d\n"
++msgstr "niezerowe pole i-węzła limitów grup w superbloku %d\n"
+-#: .././io/parent.c:283
++#: .././repair/agheader.c:374
+ #, c-format
+-msgid "p_reclen = %u\n"
+-msgstr "p_reclen = %u\n"
++msgid "non-null project quota inode field in superblock %d\n"
++msgstr "niezerowe pole i-węzła limitów projektu w superbloku %d\n"
+-#: .././io/parent.c:285
++#: .././repair/agheader.c:386
+ #, c-format
+-msgid "p_name   = \"%s%s\"\n"
+-msgstr "p_name   = \"%s%s\"\n"
++msgid "non-null quota flags in superblock %d\n"
++msgstr "niezerowe flagi limitów w superbloku %d\n"
+-#: .././io/parent.c:287
++#: .././repair/agheader.c:404
+ #, c-format
+-msgid "p_name   = \"%s\"\n"
+-msgstr "p_name   = \"%s\"\n"
++msgid "bad shared version number in superblock %d\n"
++msgstr "błędny numer wersji dzielonej w superbloku %d\n"
+-#: .././io/parent.c:309
++#: .././repair/agheader.c:416
+ #, c-format
+-msgid "%s: failed path_to_fshandle \"%s\": %s\n"
+-msgstr "%s: path_to_fshandle nie powiodło się dla \"%s\": %s\n"
++msgid "bad inode alignment field in superblock %d\n"
++msgstr "błędne pole wyrównania i-węzłów w superbloku %d\n"
+-#: .././io/parent.c:316
++#: .././repair/agheader.c:429
+ #, c-format
+-msgid "%s: path_to_handle failed for \"%s\"\n"
+-msgstr "%s: path_to_handle nie powiodło się dla \"%s\"\n"
++msgid "bad stripe unit/width fields in superblock %d\n"
++msgstr "błędne pola jednostki/szerokości pasa w superbloku %d\n"
+-#: .././io/parent.c:323
++#: .././repair/agheader.c:447
+ #, c-format
+-msgid "%s: unable to allocate parent buffer: %s\n"
+-msgstr "%s: nie udało się przydzielić bufora nadrzędnego: %s\n"
++msgid "bad log/data device sector size fields in superblock %d\n"
++msgstr "błędne pola rozmiaru sektora urządzenia logu/danych w superbloku %d\n"
+-#: .././io/parent.c:344
++#: .././repair/agheader.c:478
+ #, c-format
+-msgid "%s: %s call failed for \"%s\": %s\n"
+-msgstr "%s: wywołanie %s nie powiodło się dla \"%s\": %s\n"
++msgid "bad on-disk superblock %d - %s\n"
++msgstr "błędny superblok %d na dysku - %s\n"
+-#: .././io/parent.c:353
++#: .././repair/agheader.c:485
+ #, c-format
+-msgid "%s: inode-path is missing\n"
+-msgstr "%s: brak inode-path\n"
++msgid "primary/secondary superblock %d conflict - %s\n"
++msgstr "konflikt głównego/zapasowego superbloku %d - %s\n"
+-#: .././io/parent.c:384
++#: .././repair/attr_repair.c:110
+ #, c-format
+-msgid "file argument, \"%s\", is not in a mounted XFS filesystem\n"
+-msgstr "argument plikowy \"%s\" nie jest na podmontowanym systemie plików XFS\n"
++msgid "bad range claimed [%d, %d) in da block\n"
++msgstr "błędny przedział [%d, %d) przypisany w bloku da\n"
+-#: .././io/parent.c:424
++#: .././repair/attr_repair.c:117
+ #, c-format
+-msgid ""
+-"\n"
+-" list the current file's parents and their filenames\n"
+-"\n"
+-" -c -- check the current file's file system for parent consistency\n"
+-" -p -- list the current file's parents and their full paths\n"
+-" -v -- verbose mode\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" wypisanie rodziców bieżącego pliku i ich nazw\n"
+-"\n"
+-" -c - sprawdzenie systemu plików pod kątem spójności rodziców pliku\n"
+-" -p - wypisanie rodziców bieżącego pliku i ich pełnych ścieżek\n"
+-" -v - tryb szczegółowy\n"
+-"\n"
+-
+-#: .././io/parent.c:440
+-msgid "[-cpv]"
+-msgstr "[-cpv]"
+-
+-#: .././io/parent.c:442
+-msgid "print or check parent inodes"
+-msgstr "wypisanie lub sprawdzenie i-węzłów nadrzędnych"
++msgid "byte range end [%d %d) in da block larger than blocksize %d\n"
++msgstr "koniec przedziału bajtów [%d %d) w bloku da większy niż rozmiar bloku %d\n"
+-#: .././io/pread.c:32
++#: .././repair/attr_repair.c:124
+ #, c-format
+-msgid ""
+-"\n"
+-" reads a range of bytes in a specified block size from the given offset\n"
+-"\n"
+-" Example:\n"
+-" 'pread -v 512 20' - dumps 20 bytes read from 512 bytes into the file\n"
+-"\n"
+-" Reads a segment of the currently open file, optionally dumping it to the\n"
+-" standard output stream (with -v option) for subsequent inspection.\n"
+-" The reads are performed in sequential blocks starting at offset, with the\n"
+-" blocksize tunable using the -b option (default blocksize is 4096 bytes),\n"
+-" unless a different pattern is requested.\n"
+-" -B   -- read backwards through the range from offset (backwards N bytes)\n"
+-" -F   -- read forwards through the range of bytes from offset (default)\n"
+-" -v   -- be verbose, dump out buffers (used when reading forwards)\n"
+-" -R   -- read at random offsets in the range of bytes\n"
+-" -Z N -- zeed the random number generator (used when reading randomly)\n"
+-"         (heh, zorry, the -s/-S arguments were already in use in pwrite)\n"
+-" When in \"random\" mode, the number of read operations will equal the\n"
+-" number required to do a complete forward/backward scan of the range.\n"
+-" Note that the offset within the range is chosen at random each time\n"
+-" (an offset may be read more than once when operating in this mode).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" odczytanie przedziału bajtów w podanym rozmiarze bloku od podanego offsetu\n"
+-"\n"
+-" Przykład:\n"
+-" 'pread -v 512 20' - zrzucenie 20 bajtów odczytanych od 512 bajtu w pliku\n"
+-"\n"
+-" pread odczytuje segment aktualnie otwartego pliku, opcjonalnie zrzucając\n"
+-" zawartość na strumień standardowego wyjścia (z opcją -v) dla dalszych badań.\n"
+-" Odczyty są wykonywane sekwencyjnie blokami począwszy od offsetu z rozmiarem\n"
+-" bloku ustawianym przy użyciu opcji -b (domyślny rozmiar bloku to 4096 bajtów),\n"
+-" chyba że zażądano innego schematu.\n"
+-" -B   - odczyt przedziału od tyłu począwszy od offsetu (N bajtów do tyłu)\n"
+-" -F   - odczyt przedziału od przodu począwszy od offsetu (domyślny)\n"
+-" -v   - tryb szczegółowy, zrzucenie bufora (przy odczycie od przodu)\n"
+-" -R   - odczyt losowych offsetów z przedziału bajtów\n"
+-" -Z N - (\"zeed\") nakarmienie generatora liczb losowych (przy odczycie losowym)\n"
+-"        (nieztety opcje -s/-S pasujące do \"seed\" były już zajęte w pwrite)\n"
+-" W przypadku trybu losowego liczba operacji odczytu będzie równa liczbie\n"
+-" potrzebnej do pełnego przeskanowania od przodu lub od tyłu całego przedziału.\n"
+-" Należy zauważyć, że offset w przedziale jest wybierany za każdym razem losowo\n"
+-" (dowolny offset może być w tym trybie czytany więcej niż raz).\n"
+-"\n"
++msgid "multiply claimed byte %d in da block\n"
++msgstr "wielokrotnie użyty bajt %d w bloku da\n"
+-#: .././io/pread.c:286 .././io/pwrite.c:217
++#: .././repair/attr_repair.c:177
+ #, c-format
+-msgid "non-numeric bsize -- %s\n"
+-msgstr "nieliczbowy rozmiar bloku - %s\n"
++msgid "can't read block %u (fsbno %<PRIu64>) for directory inode %<PRIu64>\n"
++msgstr "nie można odczytać bloku %u (fsbno %<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
+-#: .././io/pread.c:375
++#: .././repair/attr_repair.c:181
+ #, c-format
+-msgid "read %lld/%lld bytes at offset %lld\n"
+-msgstr "odczytano %lld/%lld bajtów od offsetu %lld\n"
++msgid "can't read block %u (fsbno %<PRIu64>) for attrbute fork of inode %<PRIu64>\n"
++msgstr "nie można odczytać bloku %u (fsbno %<PRIu64>) dla gałęzi atrybutów i-węzła %<PRIu64>\n"
+-#: .././io/pread.c:377 .././io/pwrite.c:336 .././io/sendfile.c:163
++#: .././repair/attr_repair.c:192
+ #, c-format
+-msgid "%s, %d ops; %s (%s/sec and %.4f ops/sec)\n"
+-msgstr "%s, %d operacji; %s (%s/sek i %.4f operacji/sek)\n"
+-
+-#: .././io/pread.c:396
+-msgid "[-b bs] [-v] off len"
+-msgstr "[-b rozm_bloku] [-v] offset długość"
+-
+-#: .././io/pread.c:397
+-msgid "reads a number of bytes at a specified offset"
+-msgstr "odczyt podanej liczby bajtów od podanego offsetu"
++msgid "bad dir/attr magic number in inode %<PRIu64>, file bno = %u, fsbno = %<PRIu64>\n"
++msgstr "błędna liczba magiczna katalogu/atrybutu w i-węźle %<PRIu64>, bno pliku = %u, fsbno = %<PRIu64>\n"
+-#: .././io/prealloc.c:216 .././io/prealloc.c:224 .././io/prealloc.c:232
+-#: .././io/prealloc.c:240 .././io/prealloc.c:250 .././io/prealloc.c:276
+-msgid "off len"
+-msgstr "offset długość"
++#: .././repair/attr_repair.c:200 .././repair/dir2.c:212
++#, c-format
++msgid "bad record count in inode %<PRIu64>, count = %d, max = %d\n"
++msgstr "błędna liczba rekordów w i-węźle %<PRIu64>, liczba = %d, maksimum = %d\n"
+-#: .././io/prealloc.c:217
+-msgid "allocates zeroed space for part of a file"
+-msgstr "przydzielenie wyzerowanej przestrzeni dla części pliku"
++#: .././repair/attr_repair.c:219 .././repair/dir2.c:236
++#, c-format
++msgid "bad directory btree for directory inode %<PRIu64>\n"
++msgstr "błędne b-drzewo katalogu dla i-węzła katalogu %<PRIu64>\n"
+-#: .././io/prealloc.c:225
+-msgid "frees space associated with part of a file"
+-msgstr "zwolnienie miejsca związanego z częścią pliku"
++#: .././repair/attr_repair.c:223
++#, c-format
++msgid "bad attribute fork btree for inode %<PRIu64>\n"
++msgstr "błędne b-drzewo gałęzi atrybutów dla i-węzła %<PRIu64>\n"
+-#: .././io/prealloc.c:234
+-msgid "reserves space associated with part of a file"
+-msgstr "zarezerwowanie miejsca związanego z częścią pliku"
++#: .././repair/attr_repair.c:276
++#, c-format
++msgid "release_da_cursor_int got unexpected non-null bp, dabno = %u\n"
++msgstr "release_da_cursor_int otrzymało nieoczekiwany niepusty bp, dabno = %u\n"
+-#: .././io/prealloc.c:243
+-msgid "frees reserved space associated with part of a file"
+-msgstr "zwolnienie zarezerwowanego miejsca związanego z częścią pliku"
++#: .././repair/attr_repair.c:348
++#, c-format
++msgid "directory/attribute block used/count inconsistency - %d/%hu\n"
++msgstr "niespójność wartości used/count bloku katalogu/atrybutu - %d/%hu\n"
+-#: .././io/prealloc.c:252
+-msgid "Converts the given range of a file to allocated zeros"
+-msgstr "Zamiana podanego przedziału pliku na przydzielone zera"
++#: .././repair/attr_repair.c:358 .././repair/dir2.c:361
++#, c-format
++msgid "directory/attribute block hashvalue inconsistency, expected > %u / saw %u\n"
++msgstr "niespójność wartości hasza bloku katalogu/atrybutu - oczekiwano > %u, widziano %u\n"
+-#: .././io/prealloc.c:266
+-msgid "[-k] [-p] off len"
+-msgstr "[-k] [-p] offset długość"
++#: .././repair/attr_repair.c:365 .././repair/dir2.c:368
++#, c-format
++msgid "bad directory/attribute forward block pointer, expected 0, saw %u\n"
++msgstr "błędny wskaźnik bloku w przód katalogu/atrybutu - oczekiwano 0, widziano %u\n"
+-#: .././io/prealloc.c:268
+-msgid "allocates space associated with part of a file via fallocate"
+-msgstr "przydzielenie miejsca powiązanego z częścią pliku przez fallocate"
++#: .././repair/attr_repair.c:371
++#, c-format
++msgid "bad directory block in dir ino %<PRIu64>\n"
++msgstr "błędny blok katalogu w i-węźle katalogu %<PRIu64>\n"
+-#: .././io/prealloc.c:278
+-msgid "de-allocates space assocated with part of a file via fallocate"
+-msgstr "zwolnienie miejsca powiązanego z częścią pliku przez fallocate"
++#: .././repair/attr_repair.c:399
++#, c-format
++msgid ""
++"correcting bad hashval in non-leaf dir/attr block\n"
++"\tin (level %d) in inode %<PRIu64>.\n"
++msgstr ""
++"poprawiono błędne hashval w bloku katalogu/atrybutu nie będącego liściem\n"
++"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
+-#: .././io/pwrite.c:31
++#: .././repair/attr_repair.c:407
+ #, c-format
+ msgid ""
+-"\n"
+-" writes a range of bytes (in block size increments) from the given offset\n"
+-"\n"
+-" Example:\n"
+-" 'pwrite 512 20' - writes 20 bytes at 512 bytes into the open file\n"
+-"\n"
+-" Writes into a segment of the currently open file, using either a buffer\n"
+-" filled with a set pattern (0xcdcdcdcd) or data read from an input file.\n"
+-" The writes are performed in sequential blocks starting at offset, with the\n"
+-" blocksize tunable using the -b option (default blocksize is 4096 bytes),\n"
+-" unless a different write pattern is requested.\n"
+-" -S   -- use an alternate seed number for filling the write buffer\n"
+-" -i   -- input file, source of data to write (used when writing forward)\n"
+-" -d   -- open the input file for direct IO\n"
+-" -s   -- skip a number of bytes at the start of the input file\n"
+-" -w   -- call fdatasync(2) at the end (included in timing results)\n"
+-" -W   -- call fsync(2) at the end (included in timing results)\n"
+-" -B   -- write backwards through the range from offset (backwards N bytes)\n"
+-" -F   -- write forwards through the range of bytes from offset (default)\n"
+-" -R   -- write at random offsets in the specified range of bytes\n"
+-" -Z N -- zeed the random number generator (used when writing randomly)\n"
+-"         (heh, zorry, the -s/-S arguments were already in use in pwrite)\n"
+-"\n"
++"would correct bad hashval in non-leaf dir/attr block\n"
++"\tin (level %d) in inode %<PRIu64>.\n"
+ msgstr ""
+-"\n"
+-" zapisanie przedziału bajtów w podanym rozmiarze bloku od podanego offsetu\n"
+-"\n"
+-" Przykład:\n"
+-" 'pwrite 512 20' - zapisanie 20 bajtów odczytanych od 512 bajtu w pliku\n"
+-"\n"
+-" pwrite zapisuje segment aktualnie otwartego pliku, używając bufora wypełnionego\n"
+-" ustawionym wzorcem (0xcdcdcdcd) lub danymi odczytanymi z pliku wejściowego.\n"
+-" Zapisy są wykonywane sekwencyjnie blokami począwszy od offsetu z rozmiarem\n"
+-" bloku ustawianym przy użyciu opcji -b (domyślny rozmiar bloku to 4096 bajtów),\n"
+-" chyba że zażądano innego schematu.\n"
+-" -S   - użycie innej liczby do wypełnienia bufora zapisu\n"
+-" -i   - plik wejściowy, źródło danych do zapisania (przy pisaniu od przodu)\n"
+-" -d   - otwarcie pliku wejściowego dla bezpośredniego we/wy\n"
+-" -s   - pominięcie podanej liczby bajtów od początku pliku wejściowego\n"
+-" -w   - wywołanie fdatasync(2) na końcu (wliczane w wyniki czasowe)\n"
+-" -W   - wywołanie fsync(2) na końcu (wliczane w wyniki czasowe)\n"
+-" -B   - zapis przedziału od tyłu począwszy od offsetu (N bajtów do tyłu)\n"
+-" -F   - zapis przedziału od przodu począwszy od offsetu (domyślny)\n"
+-" -R   - zapis losowych offsetów z przedziału bajtów\n"
+-" -Z N - (\"zeed\") nakarmienie generatora liczb losowych (przy zapisie losowym)\n"
+-"        (nieztety opcje -s/-S pasujące do \"seed\" były już zajęte w pwrite)\n"
+-"\n"
++"błędne hashval zostałoby poprawione w bloku katalogu/atrybutu nie będącego liściem\n"
++"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
+-#: .././io/pwrite.c:244
++#: .././repair/attr_repair.c:549 .././repair/dir2.c:537
+ #, c-format
+-msgid "non-numeric skip -- %s\n"
+-msgstr "nieliczbowy liczba bajtów do pominięcia - %s\n"
++msgid "can't get map info for block %u of directory inode %<PRIu64>\n"
++msgstr "nie można uzyskać informacji o mapie dla bloku %u i-węzła katalogu %<PRIu64>\n"
+-#: .././io/pwrite.c:334
++#: .././repair/attr_repair.c:559
+ #, c-format
+-msgid "wrote %lld/%lld bytes at offset %lld\n"
+-msgstr "zapisano %lld/%lld bajtów od offsetu %lld\n"
+-
+-#: .././io/pwrite.c:359
+-msgid "[-i infile [-d] [-s skip]] [-b bs] [-S seed] [-wW] off len"
+-msgstr "[-i plik_wej [-d] [-s do_pominięcia]] [-b rozm_bloku] [-S zarodek] [-wW] offset długość"
+-
+-#: .././io/pwrite.c:361
+-msgid "writes a number of bytes at a specified offset"
+-msgstr "zapis podanej liczby bajtów od podanego offsetu"
++msgid "can't read block %u (%<PRIu64>) for directory inode %<PRIu64>\n"
++msgstr "nie można odczytać bloku %u (%<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
+-#: .././io/resblks.c:39
++#: .././repair/attr_repair.c:575
+ #, c-format
+-msgid "non-numeric argument -- %s\n"
+-msgstr "nieliczbowy argument - %s\n"
++msgid "bad magic number %x in block %u (%<PRIu64>) for directory inode %<PRIu64>\n"
++msgstr "błędna liczba magiczna %x w bloku %u (%<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
+-#: .././io/resblks.c:51
++#: .././repair/attr_repair.c:582
+ #, c-format
+-msgid "reserved blocks = %llu\n"
+-msgstr "zarezerwowane bloki = %llu\n"
++msgid "bad back pointer in block %u (%<PRIu64>) for directory inode %<PRIu64>\n"
++msgstr "błędny wskaźnik wstecz w bloku %u (%<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
+-#: .././io/resblks.c:53
++#: .././repair/attr_repair.c:588
+ #, c-format
+-msgid "available reserved blocks = %llu\n"
+-msgstr "dostępne zarezerwowane bloki = %llu\n"
++msgid "entry count %d too large in block %u (%<PRIu64>) for directory inode %<PRIu64>\n"
++msgstr "liczba wpisów %d zbyt duża w bloku %u (%<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
+-#: .././io/resblks.c:66
+-msgid "[blocks]"
+-msgstr "[bloki]"
++#: .././repair/attr_repair.c:595
++#, c-format
++msgid "bad level %d in block %u (%<PRIu64>) for directory inode %<PRIu64>\n"
++msgstr "błędny poziom %d w bloku %u (%<PRIu64>) dla i-węzła katalogu %<PRIu64>\n"
+-#: .././io/resblks.c:68
+-msgid "get and/or set count of reserved filesystem blocks"
+-msgstr "pobranie i/lub ustawienie liczby zarezerwowanych bloków w systemie plików"
++#: .././repair/attr_repair.c:660
++#, c-format
++msgid ""
++"correcting bad hashval in interior dir/attr block\n"
++"\tin (level %d) in inode %<PRIu64>.\n"
++msgstr ""
++"poprawiono błędne hashval w wewnętrznym bloku katalogu/atrybutu\n"
++"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
+-#: .././io/sendfile.c:32
++#: .././repair/attr_repair.c:668
+ #, c-format
+ msgid ""
+-"\n"
+-" transfer a range of bytes from the given offset between files\n"
+-"\n"
+-" Example:\n"
+-" 'send -f 2 512 20' - writes 20 bytes at 512 bytes into the open file\n"
+-"\n"
+-" Copies data between one file descriptor and another.  Because this copying\n"
+-" is done within the kernel, sendfile does not need to transfer data to and\n"
+-" from user space.\n"
+-" -f -- specifies an input file from which to source data to write\n"
+-" -i -- specifies an input file name from which to source data to write.\n"
+-" An offset and length in the source file can be optionally specified.\n"
+-"\n"
++"would correct bad hashval in interior dir/attr block\n"
++"\tin (level %d) in inode %<PRIu64>.\n"
+ msgstr ""
+-"\n"
+-" przesłanie między plikami przedziału bajtów od podanego offsetu\n"
+-"\n"
+-" Przykład:\n"
+-" 'send -f 2 512 20' - zapisanie 20 bajtów od 512 bajtu do otwartego pliku\n"
+-"\n"
+-" sendfile kopiuje dane między jednym deskryptorem pliku a innym. Ponieważ to\n"
+-" kopiowanie jest wykonywane przez jądro, sendfile nie potrzebuje przesyłać\n"
+-" danych do i z przestrzeni użytkownika.\n"
+-" -f - podanie plików wejściowego z którego dane mają być czytane\n"
+-" -i - podanie nazwy pliku wejściowego z którego dane mają być czytane\n"
+-" Opcjonalnie można podać offset i długość danych w pliku źródłowym.\n"
+-"\n"
++"błędne hashval zostałoby poprawione w wewnętrznym bloku katalogu/atrybutu\n"
++"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
+-#: .././io/sendfile.c:161
++#: .././repair/attr_repair.c:758
++msgid "entry contains illegal value in attribute named SGI_ACL_FILE or SGI_ACL_DEFAULT\n"
++msgstr "wpis zawiera niedozwoloną wartość w atrybucie SGI_ACL_FILE lub SGI_ACL_DEFAULT\n"
++
++#: .././repair/attr_repair.c:780
++msgid "entry contains illegal value in attribute named SGI_MAC_LABEL\n"
++msgstr "wpis zawiera niedozwoloną wartość w atrybucie SGI_MAC_LABEL\n"
++
++#: .././repair/attr_repair.c:786
++msgid "entry contains illegal value in attribute named SGI_CAP_FILE\n"
++msgstr "wpis zawiera niedozwoloną wartość w atrybucie SGI_CAP_FILE\n"
++
++#: .././repair/attr_repair.c:825
+ #, c-format
+-msgid "sent %lld/%lld bytes from offset %lld\n"
+-msgstr "przesłano %lld/%lld bajtów od offsetu %lld\n"
++msgid "there are no attributes in the fork for inode %<PRIu64>\n"
++msgstr "nie ma atrybutów w gałęzi dla i-węzła %<PRIu64>\n"
+-#: .././io/sendfile.c:186
+-msgid "-i infile | -f N [off len]"
+-msgstr "-i plik_wej | -f N [offset długość]"
++#: .././repair/attr_repair.c:833
++#, c-format
++msgid "would junk the attribute fork since count is 0 for inode %<PRIu64>\n"
++msgstr "gałąź atrybutów zostałaby usunięta ponieważ licznik wynosi 0 dla i-węzła %<PRIu64>\n"
+-#: .././io/sendfile.c:188
+-msgid "Transfer data directly between file descriptors"
+-msgstr "Przesłanie danych bezpośrednio między deskryptorami plików"
++#: .././repair/attr_repair.c:853
++msgid "zero length name entry in attribute fork,"
++msgstr "wpis nazwy zerowej długości w gałęzi atrybutów,"
+-#: .././io/shutdown.c:59
+-msgid "[-f]"
+-msgstr "[-f]"
++#: .././repair/attr_repair.c:856 .././repair/attr_repair.c:876
++#, c-format
++msgid " truncating attributes for inode %<PRIu64> to %d\n"
++msgstr " ucięto atrybuty dla i-węzła %<PRIu64> do %d\n"
+-#: .././io/shutdown.c:61
+-msgid "shuts down the filesystem where the current file resides"
+-msgstr "wyłączenie systemu plików na którym znajduje się bieżący plik"
++#: .././repair/attr_repair.c:861 .././repair/attr_repair.c:882
++#, c-format
++msgid " would truncate attributes for inode %<PRIu64> to %d\n"
++msgstr " atrybuty dla i-węzła %<PRIu64> zostałyby ucięte do %d\n"
+-#: .././io/truncate.c:38
++#: .././repair/attr_repair.c:873
++msgid "name or value attribute lengths are too large,\n"
++msgstr "długości nazwy lub wartości atrybutów są zbyt duże,\n"
++
++#: .././repair/attr_repair.c:895
++msgid "entry contains illegal character in shortform attribute name\n"
++msgstr "wpis zawiera niedozwolony znak w nazwie atrybutu krótkiego\n"
++
++#: .././repair/attr_repair.c:901
++msgid "entry has INCOMPLETE flag on in shortform attribute\n"
++msgstr "wpis ma flagę NIEPEŁNY w atrybucie krótkim\n"
++
++#: .././repair/attr_repair.c:918
+ #, c-format
+-msgid "non-numeric truncate argument -- %s\n"
+-msgstr "nieliczbowy argument truncate - %s\n"
++msgid "removing attribute entry %d for inode %<PRIu64>\n"
++msgstr "usunięto wpis atrybutu %d dla i-węzła %<PRIu64>\n"
+-#: .././io/truncate.c:58
+-msgid "off"
+-msgstr "offset"
++#: .././repair/attr_repair.c:930
++#, c-format
++msgid "would remove attribute entry %d for inode %<PRIu64>\n"
++msgstr "wpis atrybutu %d dla i-węzła %<PRIu64> zostałby usunięty\n"
+-#: .././io/truncate.c:60
+-msgid "truncates the current file at the given offset"
+-msgstr "ucięcie bieżącego pliku na podanym offsecie"
++#: .././repair/attr_repair.c:945
++#, c-format
++msgid "would have corrected attribute entry count in inode %<PRIu64> from %d to %d\n"
++msgstr "liczba wpisów atrybutów w i-węźle %<PRIu64> zostałaby poprawiona z %d na %d\n"
+-#: .././io/attr.c:59
++#: .././repair/attr_repair.c:949
+ #, c-format
+-msgid ""
+-"\n"
+-" displays the set of extended inode flags associated with the current file\n"
+-"\n"
+-" Each individual flag is displayed as a single character, in this order:\n"
+-" r -- file data is stored in the realtime section\n"
+-" p -- file has preallocated extents (cannot be changed using chattr)\n"
+-" i -- immutable, file cannot be modified\n"
+-" a -- append-only, file can only be appended to\n"
+-" s -- all updates are synchronous\n"
+-" A -- the access time is not updated for this inode\n"
+-" d -- do not include this file in a dump of the filesystem\n"
+-" t -- child created in this directory has realtime bit set by default\n"
+-" P -- child created in this directory has parents project ID by default\n"
+-" n -- symbolic links cannot be created in this directory\n"
+-" e -- for non-realtime files, observe the inode extent size value\n"
+-" E -- children created in this directory inherit the extent size value\n"
+-" f -- do not include this file when defragmenting the filesystem\n"
+-" S -- enable filestreams allocator for this directory\n"
+-"\n"
+-" Options:\n"
+-" -R -- recursively descend (useful when current file is a directory)\n"
+-" -D -- recursively descend, but only list attributes on directories\n"
+-" -a -- show all flags which can be set alongside those which are set\n"
+-" -v -- verbose mode; show long names of flags, not single characters\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" wyświetlanie zbioru rozszerzonych flag i-węzłów związanych z bieżącym plikiem\n"
+-"\n"
+-" Każda flaga jest wyświetlana jako pojedynczy znak, w tej kolejności:\n"
+-" r - dane pliku są zapisane w sekcji realtime\n"
+-" p - plik ma już przydzielone ekstenty (nie do zmiany przez chattr)\n"
+-" i - niezmienny, pliku nie można modyfikować\n"
+-" a - tylko do dopisywania, do pliku można tylko dopisywać\n"
+-" s - wszystkie uaktualnienia są synchroniczne\n"
+-" A - czas dostępu nie jest uaktualniany dla tego i-węzła\n"
+-" d - nie dołączanie pliku do zrzutu systemu plików\n"
+-" t - wpisy tworzone w tym katalogu mają domyślnie ustawiony bit realtime\n"
+-" P - wpisy tworzone w tym katalogu mają domyślnie ID projektu rodzica\n"
+-" n - w tym katalogu nie można tworzyć dowiązań symbolicznych\n"
+-" e - dla plików nie-realtime - przestrzeganie wartości rozmiaru ekstentu i-węzła\n"
+-" E - wpisy tworzone w tym katalogu dziedziczą wartość rozmiaru ekstentu\n"
+-" f - nie uwzględnianie tego pliku przy defragmentacji systemu plików\n"
+-" S - włączenie przydzielania strumieni plikowych dla tego katalogu\n"
+-"\n"
+-" Opcje:\n"
+-" -R - rekurencyjne zagłębianie się (przydatne kiedy bieżący plik jest katalogiem)\n"
+-" -D - rekurencyjne zagłębianie się, ale wypisywanie atrybutów tylko katalogów\n"
+-" -a - pokazywanie wszystkich flag, które można ustawić, obok ustawionych\n"
+-" -v - tryb szczegółowy; pokazywanie długich nazw flag zamiast pojedynczych znaków\n"
+-"\n"
++msgid "corrected attribute entry count in inode %<PRIu64>, was %d, now %d\n"
++msgstr "poprawiono liczbę wpisów atrybutów w i-węźle %<PRIu64> - było %d, jest %d\n"
+-#: .././io/attr.c:90
++#: .././repair/attr_repair.c:960
+ #, c-format
+-msgid ""
+-"\n"
+-" modifies the set of extended inode flags associated with the current file\n"
+-"\n"
+-" Examples:\n"
+-" 'chattr +a' - sets the append-only flag\n"
+-" 'chattr -a' - clears the append-only flag\n"
+-"\n"
+-" -R -- recursively descend (useful when current file is a directory)\n"
+-" -D -- recursively descend, only modifying attributes on directories\n"
+-" +/-r -- set/clear the realtime flag\n"
+-" +/-i -- set/clear the immutable flag\n"
+-" +/-a -- set/clear the append-only flag\n"
+-" +/-s -- set/clear the sync flag\n"
+-" +/-A -- set/clear the no-atime flag\n"
+-" +/-d -- set/clear the no-dump flag\n"
+-" +/-t -- set/clear the realtime inheritance flag\n"
+-" +/-P -- set/clear the project ID inheritance flag\n"
+-" +/-n -- set/clear the no-symbolic-links flag\n"
+-" +/-e -- set/clear the extent-size flag\n"
+-" +/-E -- set/clear the extent-size inheritance flag\n"
+-" +/-f -- set/clear the no-defrag flag\n"
+-" +/-S -- set/clear the filestreams allocator flag\n"
+-" Note1: user must have certain capabilities to modify immutable/append-only.\n"
+-" Note2: immutable/append-only files cannot be deleted; removing these files\n"
+-"        requires the immutable/append-only flag to be cleared first.\n"
+-" Note3: the realtime flag can only be set if the filesystem has a realtime\n"
+-"        section, and the (regular) file must be empty when the flag is set.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" zmiana zbioru rozszerzonych flag i-węzłów związanych z bieżącym plikiem\n"
+-"\n"
+-" Przykłady:\n"
+-" 'chattr +a' - ustawia flagę tylko do dopisywania\n"
+-" 'chattr -a' - zdejmuje flagę tylko do dopisywania\n"
+-"\n"
+-" -R - rekurencyjne zagłębianie się (przydatne kiedy bieżący plik jest katalogiem)\n"
+-" -D - rekurencyjne zagłębianie się, ale zmiana atrybutów tylko katalogów\n"
+-" +/-r - ustawienie/zdjęcie flagi realtime\n"
+-" +/-i - ustawienie/zdjęcie flagi immutable (niezmienności)\n"
+-" +/-a - ustawienie/zdjęcie flagi append-only (tylko do dopisywania)\n"
+-" +/-s - ustawienie/zdjęcie flagi sync (synchronicznego zapisu)\n"
+-" +/-A - ustawienie/zdjęcie flagi no-atime\n"
+-" +/-d - ustawienie/zdjęcie flagi no-dump\n"
+-" +/-t - ustawienie/zdjęcie flagi dziedziczenia realtime\n"
+-" +/-P - ustawienie/zdjęcie flagi dziedziczenia ID projektu\n"
+-" +/-n - ustawienie/zdjęcie flagi braku dowiązań symbolicznych\n"
+-" +/-e - ustawienie/zdjęcie flagi rozmiaru ekstentu\n"
+-" +/-E - ustawienie/zdjęcie flagi dziedziczenia rozmiaru ekstentu\n"
+-" +/-f - ustawienie/zdjęcie flagi no-defrag\n"
+-" +/-S - ustawienie/zdjęcie flagi przydzielania strumieni plikowych\n"
+-" Uwaga1: użytkownik musi mieć pewne uprawnienia do zmiany flag\n"
+-"         immutable/append-only\n"
+-" Uwaga2: plików immutable/append-only nie można usuwać; usuwanie tych plików\n"
+-"         wymaga zdjęcia flag immutable/append-only przed usunięciem.\n"
+-" Uwaga3: flagę realtime można ustawić tylko jeśli system plików ma sekcję\n"
+-"         realtime i (zwykły) plik musi być pusty przy ustawianiu flagi.\n"
+-"\n"
++msgid "would have corrected attribute totsize in inode %<PRIu64> from %d to %d\n"
++msgstr "totsize atrybutów w i-węźle %<PRIu64> zostałby poprawiony z %d na %d\n"
+-#: .././io/attr.c:256 .././io/attr.c:327
++#: .././repair/attr_repair.c:965
+ #, c-format
+-msgid "%s: cannot set flags on %s: %s\n"
+-msgstr "%s: nie można ustawić flag %s: %s\n"
++msgid "corrected attribute entry totsize in inode %<PRIu64>, was %d, now %d\n"
++msgstr "poprawiono totsize wpisu atrybutów w i-węźle %<PRIu64> - było %d, jest %d\n"
+-#: .././io/attr.c:291 .././io/attr.c:305
++#: .././repair/attr_repair.c:999
+ #, c-format
+-msgid "%s: unknown flag\n"
+-msgstr "%s: nieznana flaga\n"
++msgid "remote block for attributes of inode %<PRIu64> is missing\n"
++msgstr "brak odległego bloku dla atrybutów i-węzła %<PRIu64>\n"
+-#: .././io/attr.c:311
++#: .././repair/attr_repair.c:1008
+ #, c-format
+-msgid "%s: bad chattr command, not +/-X\n"
+-msgstr "%s: złe polecenie chattr - nie +/-X\n"
++msgid "can't read remote block for attributes of inode %<PRIu64>\n"
++msgstr "nie można odczytać odległego bloku dla atrybutów i-węzła %<PRIu64>\n"
+-#: .././io/attr.c:338
+-msgid "[-R|-D] [+/-"
+-msgstr "[-R|-D] [+/-"
++#: .././repair/attr_repair.c:1015
++#, c-format
++msgid "Corrupt remote block for attributes of inode %<PRIu64>\n"
++msgstr "Uszkodzony odległy blok dla atrybutów i-węzła %<PRIu64>\n"
+-#: .././io/attr.c:343
+-msgid "change extended inode flags on the currently open file"
+-msgstr "zmiana rozszerzonych flag i-węzłów aktualnie otwartego pliku"
++#: .././repair/attr_repair.c:1055
++#, c-format
++msgid "attribute entry %d in attr block %u, inode %<PRIu64> has bad name (namelen = %d)\n"
++msgstr "wpis atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64> ma błędną nazwę (namelen = %d)\n"
+-#: .././io/attr.c:348
+-msgid "[-R|-D|-a|-v]"
+-msgstr "[-R|-D|-a|-v]"
++#: .././repair/attr_repair.c:1072
++#, c-format
++msgid "bad hashvalue for attribute entry %d in attr block %u, inode %<PRIu64>\n"
++msgstr "błędna wartość hasza dla wpisu atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64>\n"
+-#: .././io/attr.c:353
+-msgid "list extended inode flags set on the currently open file"
+-msgstr "wypisanie rozszerzonych flag i-węzłów aktualnie otwartego pliku"
++#: .././repair/attr_repair.c:1082
++#, c-format
++msgid "bad security value for attribute entry %d in attr block %u, inode %<PRIu64>\n"
++msgstr "błędna wartość bezpieczeństwa dla wpisu atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64>\n"
+-#: .././io/bmap.c:30
++#: .././repair/attr_repair.c:1115
+ #, c-format
+-msgid ""
+-"\n"
+-" prints the block mapping for an XFS file's data or attribute forks\n"
+-" Example:\n"
+-" 'bmap -vp' - tabular format verbose map, including unwritten extents\n"
+-"\n"
+-" bmap prints the map of disk blocks used by the current file.\n"
+-" The map lists each extent used by the file, as well as regions in the\n"
+-" file that do not have any corresponding blocks (holes).\n"
+-" By default, each line of the listing takes the following form:\n"
+-"     extent: [startoffset..endoffset]: startblock..endblock\n"
+-" Holes are marked by replacing the startblock..endblock with 'hole'.\n"
+-" All the file offsets and disk blocks are in units of 512-byte blocks.\n"
+-" -a -- prints the attribute fork map instead of the data fork.\n"
+-" -d -- suppresses a DMAPI read event, offline portions shown as holes.\n"
+-" -l -- also displays the length of each extent in 512-byte blocks.\n"
+-" -n -- query n extents.\n"
+-" -p -- obtain all unwritten extents as well (w/ -v show which are unwritten.)\n"
+-" -v -- Verbose information, specify ag info.  Show flags legend on 2nd -v\n"
+-" Note: the bmap for non-regular files can be obtained provided the file\n"
+-" was opened appropriately (in particular, must be opened read-only).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" wypisanie mapowania bloków dla danych lub atrybutów pliku na XFS-ie\n"
+-" Przykład:\n"
+-" 'bmap -vp' - szczegółowa mapa w formacie tabeli wraz z nie zapisanymi\n"
+-"              ekstentami\n"
+-"\n"
+-" bmap wypisuje mapę bloków dysku używanych przez bieżący plik.\n"
+-" Mapa opisuje każdy ekstent użyty przez plik, a także regiony w pliku\n"
+-" nie mające przypisanych bloków (dziury).\n"
+-" Domyślnie każda linia listingu przyjmuje następującą postać:\n"
+-"     ekstent: [offsetpocz..offsetkońc]: blokpocz..blokkońc\n"
+-" Dziury są oznaczane przez zastąpienie blokpocz..blokkońc przez 'dziura'.\n"
+-" Wszystkie offsety w plikach i bloki dysku są w jednostkach 512-bajtowych.\n"
+-" -a - wypisanie mapy gałęzi atrybutów zamiast gałęzi danych.\n"
+-" -d - pominięcie zdarzenia odczytu DMAPI, pokazanie części offline jako dziur.\n"
+-" -l - wyświetlenie także długości każdego fragmentu w 512-bajtowych blokach.\n"
+-" -n - odpytanie n ekstentów.\n"
+-" -p - wypisanie także nie zapisanych ekstentów (z -v pokazuje, które są nie\n"
+-"      zapisane).\n"
+-" -v - szczegółowe informacje z podaniem informacji ag; legenda drugim -v\n"
+-" Uwaga: bmap dla plików nie będących plikami zwykłymi można uzyskać pod\n"
+-" warunkiem, że plik został otwarty odpowiednio (w szczególności musi być\n"
+-" otwarty tylko do odczytu).\n"
+-"\n"
++msgid "inconsistent remote attribute entry %d in attr block %u, ino %<PRIu64>\n"
++msgstr "niespójny wpis odległego atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64>\n"
+-#: .././io/bmap.c:123
++#: .././repair/attr_repair.c:1125
+ #, c-format
+-msgid "%s: can't get geometry [\"%s\"]: %s\n"
+-msgstr "%s: nie można uzyskać geometrii [\"%s\"]: %s\n"
++msgid "cannot malloc enough for remotevalue attribute for inode %<PRIu64>\n"
++msgstr "nie można przydzielić wystarczająco dużo dla atrybutu remotevalue dla i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:131
++#: .././repair/attr_repair.c:1127
++msgid "SKIPPING this remote attribute\n"
++msgstr "POMINIĘTO ten atrybut odległy\n"
++
++#: .././repair/attr_repair.c:1133
+ #, c-format
+-msgid "%s: cannot read attrs on \"%s\": %s\n"
+-msgstr "%s: nie można odczytać atrybutów \"%s\": %s\n"
++msgid "remote attribute get failed for entry %d, inode %<PRIu64>\n"
++msgstr "pobranie odległego atrybutu nie powiodło się dla wpisu %d, i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:197
++#: .././repair/attr_repair.c:1140
+ #, c-format
+-msgid "%s: xfsctl(XFS_IOC_GETBMAPX) iflags=0x%x [\"%s\"]: %s\n"
+-msgstr "%s: xfsctl(XFS_IOC_GETBMAPX) iflags=0x%x [\"%s\"]: %s\n"
++msgid "remote attribute value check failed for entry %d, inode %<PRIu64>\n"
++msgstr "sprawdzenie wartości odległego atrybutu nie powiodło się dla wpisu %d, i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:228
++#: .././repair/attr_repair.c:1178
+ #, c-format
+-msgid "%s: cannot realloc %d bytes\n"
+-msgstr "%s: nie można wykonać realloc na %d bajtów\n"
++msgid "bad attribute count %d in attr block %u, inode %<PRIu64>\n"
++msgstr "błędna liczba atrybutów %d w bloku atrybutów %u, i-węźle %<PRIu64>\n"
+-#: .././io/bmap.c:237
++#: .././repair/attr_repair.c:1193
+ #, c-format
+-msgid "%s: no extents\n"
+-msgstr "%s: brak ekstentów\n"
++msgid "bad attribute nameidx %d in attr block %u, inode %<PRIu64>\n"
++msgstr "błędny nameidx atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64>\n"
+-#: .././io/bmap.c:260
++#: .././repair/attr_repair.c:1202
+ #, c-format
+-msgid " %lld blocks\n"
+-msgstr " %lld bloków\n"
++msgid "attribute entry #%d in attr block %u, inode %<PRIu64> is INCOMPLETE\n"
++msgstr "wpis atrybutu #%d w bloku atrybutów %u, i-węźle %<PRIu64> jest NIEPEŁNY\n"
+-#: .././io/bmap.c:341
+-msgid "RT-BLOCK-RANGE"
+-msgstr "ZAKRES-BLOKÓW-RT"
++#: .././repair/attr_repair.c:1213
++#, c-format
++msgid "attribute entry %d in attr block %u, inode %<PRIu64> claims already used space\n"
++msgstr "wpis atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64> odwołuje się do już użytego miejsca\n"
+-#: .././io/bmap.c:342
+-msgid "AG"
+-msgstr "AG"
++#: .././repair/attr_repair.c:1236
++#, c-format
++msgid "attribute entry %d in attr block %u, inode %<PRIu64> claims used space\n"
++msgstr "wpis atrybutu %d w bloku atrybutów %u, i-węźle %<PRIu64> odwołuje się do używanego miejsca\n"
+-#: .././io/bmap.c:343
+-msgid "AG-OFFSET"
+-msgstr "OFFSET-AG"
++#: .././repair/attr_repair.c:1260
++#, c-format
++msgid "- resetting first used heap value from %d to %d in block %u of attribute fork of inode %<PRIu64>\n"
++msgstr "- przestawiono pierwszą używaną wartość sterty z %d na %d w bloku %u gałęzi atrybutów i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:345
+-msgid " FLAGS"
+-msgstr " FLAGI"
++#: .././repair/attr_repair.c:1268
++#, c-format
++msgid "- would reset first used value from %d to %d in block %u of attribute fork of inode %<PRIu64>\n"
++msgstr "- pierwsza używana wartość zostałaby przestawiona z %d na %d w bloku %u gałęzi atrybutów i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:413
++#: .././repair/attr_repair.c:1278
+ #, c-format
+-msgid " FLAG Values:\n"
+-msgstr " Wartości FLAG:\n"
++msgid "- resetting usedbytes cnt from %d to %d in block %u of attribute fork of inode %<PRIu64>\n"
++msgstr "- przestawiono liczbę użytych bajtów z %d na %d w bloku %u gałęzi atrybutów i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:414
++#: .././repair/attr_repair.c:1286
+ #, c-format
+-msgid "    %*.*o Unwritten preallocated extent\n"
+-msgstr "    %*.*o Nie zapisany, już przydzielony ekstent\n"
++msgid "- would reset usedbytes cnt from %d to %d in block %u of attribute fork of %<PRIu64>\n"
++msgstr "- liczba użytych bajtów zostałaby przestawiona z %d na %d w bloku %u gałęzi atrybutów i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:416
++#: .././repair/attr_repair.c:1341
+ #, c-format
+-msgid "    %*.*o Doesn't begin on stripe unit\n"
+-msgstr "    %*.*o Nie zaczyna się od jednostki pasa\n"
++msgid "can't map block %u for attribute fork for inode %<PRIu64>\n"
++msgstr "nie można odwzorować bloku %u dla gałęzi atrybutów dla i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:418
++#: .././repair/attr_repair.c:1351
+ #, c-format
+-msgid "    %*.*o Doesn't end   on stripe unit\n"
+-msgstr "    %*.*o Nie kończy się na jednostce pasa\n"
++msgid "can't read file block %u (fsbno %<PRIu64>) for attribute fork of inode %<PRIu64>\n"
++msgstr "nie można odczytać bloku pliku %u (fsbno %<PRIu64>) dla gałęzi atrybutów i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:420
++#: .././repair/attr_repair.c:1365
+ #, c-format
+-msgid "    %*.*o Doesn't begin on stripe width\n"
+-msgstr "    %*.*o Nie zaczyna się na szerokości pasa\n"
++msgid "bad attribute leaf magic %#x for inode %<PRIu64>\n"
++msgstr "błędna liczba magiczna liścia atrybutu %#x dla i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:422
++#: .././repair/attr_repair.c:1396
+ #, c-format
+-msgid "    %*.*o Doesn't end   on stripe width\n"
+-msgstr "    %*.*o Nie kończy się na szerokości pasa\n"
++msgid "bad sibling back pointer for block %u in attribute fork for inode %<PRIu64>\n"
++msgstr "błędny wskaźnik wsteczny dla bloku %u w gałęzi atrybutów dla i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:438
+-msgid "[-adlpv] [-n nx]"
+-msgstr "[-adlpv] [-n nx]"
++#: .././repair/attr_repair.c:1423
++#, c-format
++msgid "bad hash path in attribute fork for inode %<PRIu64>\n"
++msgstr "błędna ścieżka hasza w gałęzi atrybutów dla i-węzła %<PRIu64>\n"
+-#: .././io/bmap.c:439
+-msgid "print block mapping for an XFS file"
+-msgstr "wypisanie mapowania bloków dla pliku na XFS-ie"
++#: .././repair/attr_repair.c:1523
++#, c-format
++msgid "block 0 of inode %<PRIu64> attribute fork is missing\n"
++msgstr "brak bloku 0 i-węzła %<PRIu64> gałęzi atrybutów\n"
+-#: .././io/fadvise.c:31
++#: .././repair/attr_repair.c:1530
+ #, c-format
+-msgid ""
+-"\n"
+-" advise the page cache about expected I/O patterns on the current file\n"
+-"\n"
+-" Modifies kernel page cache behaviour when operating on the current file.\n"
+-" The range arguments are required by some advise commands ([*] below).\n"
+-" With no arguments, the POSIX_FADV_NORMAL advice is implied.\n"
+-" -d -- don't need these pages (POSIX_FADV_DONTNEED) [*]\n"
+-" -n -- data will be accessed once (POSIX_FADV_NOREUSE) [*]\n"
+-" -r -- expect random page references (POSIX_FADV_RANDOM)\n"
+-" -s -- expect sequential page references (POSIX_FADV_SEQUENTIAL)\n"
+-" -w -- will need these pages (POSIX_FADV_WILLNEED) [*]\n"
+-" Notes: these interfaces are not supported in Linux kernels before 2.6.\n"
+-"   NORMAL sets the default readahead setting on the file.\n"
+-"   RANDOM sets the readahead setting on the file to zero.\n"
+-"   SEQUENTIAL sets double the default readahead setting on the file.\n"
+-"   WILLNEED and NOREUSE are equivalent, and force the maximum readahead.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" doradzenie buforowi stron w sprawie oczekiwanych schematów we/wy na bieżącym\n"
+-" pliku\n"
+-"\n"
+-" fadvise modyfikuje zachowanie bufora stron przy operacjach na bieżącym pliku.\n"
+-" Niektóre polecenia fadvise ([*] poniżej) wymagają podania zakresu.\n"
+-" Bez argumentów zakłada się doradzenie POSIX_FADV_NORMAL.\n"
+-" -d - podane strony nie są wymagane (POSIX_FADV_DONTNEED) [*]\n"
+-" -n - dostęp do danych będzie jednokrotny (POSIX_FADV_NOREUSE) [*]\n"
+-" -r - należy oczekiwać losowych odwołań do stron (POSIX_FADV_RANDOM)\n"
+-" -s - należy oczekiwać sekwencyjnych odwołań do stron (POSIX_FADV_SEQUENTIAL)\n"
+-" -w - podane strony będą potrzebne (POSIX_FADV_WILLNEED) [*]\n"
+-" Uwagi: te interfejsy nie były obsługiwane przez jądra Linuksa przed 2.6.\n"
+-"  NORMAL ustawia domyślną wartość czytania z wyprzedzeniem dla pliku.\n"
+-"  RANDOM ustawia czytanie z wyprzedzeniem dla pliku na zero.\n"
+-"  SEQUENTIAL ustawia podwójną domyślną wartość czytania z wyprzedzeniem.\n"
+-"  WILLNEED i NOREUSE są równoznaczne i wymuszają maksymalne czytanie\n"
+-"  z wyprzedzeniem.\n"
+-"\n"
+-
+-#: .././io/fadvise.c:122
+-msgid "[-dnrsw] [off len]"
+-msgstr "[-dnrsw] [offset długość]"
++msgid "agno of attribute fork of inode %<PRIu64> out of regular partition\n"
++msgstr "agno gałęzi atrybutów i-węzła %<PRIu64> spoza zwykłej partycji\n"
+-#: .././io/fadvise.c:123
+-msgid "advisory commands for sections of a file"
+-msgstr "polecenia doradcze dla sekcji pliku"
++#: .././repair/attr_repair.c:1538
++#, c-format
++msgid "can't read block 0 of inode %<PRIu64> attribute fork\n"
++msgstr "nie można odczytać bloku 0 i-węzła %<PRIu64> gałęzi atrybutów\n"
+-#: .././io/fsync.c:59
+-msgid "calls fsync(2) to flush all in-core file state to disk"
+-msgstr "wywołanie fsync(2) aby zrzucić cały stan pliku z pamięci na dysk"
++#: .././repair/attr_repair.c:1555
++#, c-format
++msgid "clearing forw/back pointers in block 0 for attributes in inode %<PRIu64>\n"
++msgstr "wyczyszczono wskaźniki forw/back w bloku 0 dla atrybutów w i-węźle %<PRIu64>\n"
+-#: .././io/fsync.c:66
+-msgid "calls fdatasync(2) to flush the files in-core data to disk"
+-msgstr "wywołanie fdatasync(2) aby zrzucić dane pliku z pamięci na dysk"
++#: .././repair/attr_repair.c:1563
++#, c-format
++msgid "would clear forw/back pointers in block 0 for attributes in inode %<PRIu64>\n"
++msgstr "wskaźniki forw/back w bloku 0 dla atrybutów w i-węźle %<PRIu64> zostałyby wyczyszczone\n"
+-#: .././io/file.c:39
++#: .././repair/attr_repair.c:1595
+ #, c-format
+-msgid "%c%03d%c %-14s (%s,%s,%s,%s%s%s%s)\n"
+-msgstr "%c%03d%c %-14s (%s,%s,%s,%s%s%s%s)\n"
++msgid "bad attribute leaf magic # %#x for dir ino %<PRIu64>\n"
++msgstr "błędna liczba magiczna liścia atrybutu %#x dla i-węzła katalogu %<PRIu64>\n"
+-#: .././io/file.c:41
+-msgid "foreign"
+-msgstr "obcy"
++#: .././repair/attr_repair.c:1620
++#, c-format
++msgid "Too many ACL entries, count %d\n"
++msgstr "Za dużo wpisów ACL, liczba %d\n"
+-#: .././io/file.c:41
+-msgid "xfs"
+-msgstr "xfs"
++#: .././repair/attr_repair.c:1629
++msgid "cannot malloc enough for ACL attribute\n"
++msgstr "nie można wykonać wystarczającego malloc dla atrybutu ACL\n"
+-#: .././io/file.c:42 .././io/open.c:82
+-msgid "sync"
+-msgstr "synchr"
++#: .././repair/attr_repair.c:1630
++msgid "SKIPPING this ACL\n"
++msgstr "POMINIĘTO ten ACL\n"
+-#: .././io/file.c:42 .././io/open.c:82
+-msgid "non-sync"
+-msgstr "niesynchr"
++#: .././repair/attr_repair.c:1678 .././repair/dinode.c:2053
++#, c-format
++msgid "illegal attribute format %d, ino %<PRIu64>\n"
++msgstr "niedozwolony format atrybutu %d, i-węzeł %<PRIu64>\n"
+-#: .././io/file.c:43 .././io/open.c:83
+-msgid "direct"
+-msgstr "bezpośredni"
++#: .././repair/avl.c:1011 .././repair/avl64.c:1032
++#, c-format
++msgid "avl_insert: Warning! duplicate range [%llu,%llu]\n"
++msgstr "avl_insert: Uwaga! powtórzony przedział [%llu,%llu]\n"
+-#: .././io/file.c:43 .././io/open.c:83
+-msgid "non-direct"
+-msgstr "niebezpośredni"
++#: .././repair/avl.c:1206 .././repair/avl64.c:1227
++#, c-format
++msgid "Command [fpdir] : "
++msgstr "Polecenie [fpdir] : "
+-#: .././io/file.c:44 .././io/open.c:84
+-msgid "read-only"
+-msgstr "tylko do odczytu"
++#: .././repair/avl.c:1215 .././repair/avl64.c:1236
++#, c-format
++msgid "end of range ? "
++msgstr "koniec przedziału? "
+-#: .././io/file.c:44 .././io/open.c:84
+-msgid "read-write"
+-msgstr "odczyt i zapis"
++#: .././repair/avl.c:1226 .././repair/avl64.c:1247
++#, c-format
++msgid "Cannot find %d\n"
++msgstr "Nie można odnaleźć %d\n"
+-#: .././io/file.c:45 .././io/open.c:85
+-msgid ",real-time"
+-msgstr ",real-time"
++#: .././repair/avl.c:1239 .././repair/avl64.c:1260
++#, c-format
++msgid "size of range ? "
++msgstr "rozmiar przedziału? "
+-#: .././io/file.c:46 .././io/open.c:86
+-msgid ",append-only"
+-msgstr ",tylko dopisywanie"
++#: .././repair/avl.c:1250 .././repair/avl64.c:1271
++#, c-format
++msgid "End of range ? "
++msgstr "Koniec przedziału? "
+-#: .././io/file.c:47 .././io/open.c:87
+-msgid ",non-block"
+-msgstr ",nieblokujący"
++#: .././repair/avl.c:1254 .././repair/avl64.c:1275
++#, c-format
++msgid "checklen 0/1 ? "
++msgstr "checklen 0/1 ? "
+-#: .././io/file.c:99
+-msgid "set the current file"
+-msgstr "ustawienie bieżącego pliku"
++#: .././repair/avl.c:1261 .././repair/avl64.c:1282
++#, c-format
++msgid "Found something\n"
++msgstr "Znaleziono coś\n"
+-#: .././io/file.c:108
+-msgid "list current open files and memory mappings"
+-msgstr "wypisanie aktualnie otwartych plików i odwzorowań w pamięci"
++#: .././repair/bmap.c:53
++#, c-format
++msgid ""
++"Number of extents requested in blkmap_alloc (%d) overflows 32 bits.\n"
++"If this is not a corruption, then you will need a 64 bit system\n"
++"to repair this filesystem.\n"
++msgstr ""
++"Liczba ekstentów żądanych w blkmap_alloc (%d) przepełnia 32 bity.\n"
++"Jeśli nie jest to efekt uszkodzenia, do naprawy tego systemu plików\n"
++"niezbędny jest system 64-bitowy.\n"
+-#: .././io/init.c:35
++#: .././repair/bmap.c:66
+ #, c-format
+-msgid "Usage: %s [-adfmrRstx] [-p prog] [-c cmd]... file\n"
+-msgstr "Składnia: %s [-adfmrRstx] [-p program] [-c polecenie]... plik\n"
++msgid "malloc failed in blkmap_alloc (%zu bytes)\n"
++msgstr "malloc nie powiodło się w blkmap_alloc (%zu bajtów)\n"
+-#: .././io/init.c:111
++#: .././repair/bmap.c:174
+ #, c-format
+-msgid "foreign file active, %s command is for XFS filesystems only\n"
+-msgstr "aktywny jest plik obcy, polecenie %s jest tylko dla systemów plików XFS\n"
++msgid "blkmap_getn malloc failed (%<PRIu64> bytes)\n"
++msgstr "malloc w blkmap_getn nie powiodło się (%<PRIu64> bajtów)\n"
+-#: .././io/init.c:156 .././io/open.c:295
++#: .././repair/bmap.c:281
+ #, c-format
+-msgid "non-numeric mode -- %s\n"
+-msgstr "tryb nieliczbowy - %s\n"
++msgid ""
++"Number of extents requested in blkmap_grow (%d) overflows 32 bits.\n"
++"You need a 64 bit system to repair this filesystem.\n"
++msgstr ""
++"Liczba ekstentów żądanych w blkmap_grow (%d) przepełnia 32 bity.\n"
++"Do naprawy tego systemu plików niezbędny jest system 64-bitowy.\n"
+-#: .././io/open.c:53
+-msgid "socket"
+-msgstr "gniazdo"
++#: .././repair/bmap.c:289
++#, c-format
++msgid ""
++"Number of extents requested in blkmap_grow (%d) overflowed the\n"
++"maximum number of supported extents (%d).\n"
++msgstr ""
++"Liczba ekstentów żądanych w blkmap_grow (%d) przepełniła maksymalną\n"
++"liczbę obsługiwanych ekstentów (%d).\n"
+-#: .././io/open.c:55
+-msgid "directory"
+-msgstr "katalog"
++#: .././repair/bmap.c:297
++msgid "realloc failed in blkmap_grow\n"
++msgstr "realloc nie powiodło się w blkmap_grow\n"
+-#: .././io/open.c:57
+-msgid "char device"
+-msgstr "urządzenie znakowe"
++#: .././repair/dino_chunks.c:57
++#, c-format
++msgid "cannot read agbno (%u/%u), disk block %<PRId64>\n"
++msgstr "nie można odczytać agbno (%u/%u), blok dysku %<PRId64>\n"
+-#: .././io/open.c:59
+-msgid "block device"
+-msgstr "urządzenie blokowe"
++#: .././repair/dino_chunks.c:150
++#, c-format
++msgid "uncertain inode block %d/%d already known\n"
++msgstr "niepewny blok i-węzła %d/%d już znany\n"
+-#: .././io/open.c:61
+-msgid "regular file"
+-msgstr "plik zwykły"
++#: .././repair/dino_chunks.c:166 .././repair/dino_chunks.c:438
++#: .././repair/dino_chunks.c:497
++#, c-format
++msgid "inode block %d/%d multiply claimed, (state %d)\n"
++msgstr "blok i-węzła %d/%d już przypisany (stan %d)\n"
+-#: .././io/open.c:63
+-msgid "symbolic link"
+-msgstr "dowiązanie symboliczne"
++#: .././repair/dino_chunks.c:173 .././repair/dino_chunks.c:502
++#, c-format
++msgid "inode block %d/%d bad state, (state %d)\n"
++msgstr "blok i-węzła (%d/%d) w błędnym stanie (stan %d)\n"
+-#: .././io/open.c:65
+-msgid "fifo"
+-msgstr "potok"
++#: .././repair/dino_chunks.c:445
++#, c-format
++msgid "uncertain inode block overlap, agbno = %d, ino = %<PRIu64>\n"
++msgstr "niepewny blok i-węzła pokrywa się, agbno = %d, i-węzeł %<PRIu64>\n"
+-#: .././io/open.c:80 .././io/open.c:719
++#: .././repair/dino_chunks.c:484
+ #, c-format
+-msgid "fd.path = \"%s\"\n"
+-msgstr "fd.path = \"%s\"\n"
++msgid "uncertain inode block %<PRIu64> already known\n"
++msgstr "niepewny blok i-węzła %<PRIu64> już znany\n"
+-#: .././io/open.c:81
++#: .././repair/dino_chunks.c:621
+ #, c-format
+-msgid "fd.flags = %s,%s,%s%s%s%s\n"
+-msgstr "fd.flags = %s,%s,%s%s%s%s\n"
++msgid "failed to allocate %zd bytes of memory\n"
++msgstr "nie udało się przydzielić %zd bajtów pamięci\n"
+-#: .././io/open.c:91
++#: .././repair/dino_chunks.c:633
+ #, c-format
+-msgid "stat.ino = %lld\n"
+-msgstr "stat.ino = %lld\n"
++msgid "cannot read inode %<PRIu64>, disk block %<PRId64>, cnt %d\n"
++msgstr "nie można odczytać i-węzła %<PRIu64>, blok dysku %<PRId64>, cnt %d\n"
+-#: .././io/open.c:92
++#: .././repair/dino_chunks.c:750 .././repair/dino_chunks.c:939
+ #, c-format
+-msgid "stat.type = %s\n"
+-msgstr "stat.type = %s\n"
++msgid "bad state in block map %d\n"
++msgstr "błędny stan w mapie bloku %d\n"
+-#: .././io/open.c:93
++#: .././repair/dino_chunks.c:754 .././repair/dino_chunks.c:945
+ #, c-format
+-msgid "stat.size = %lld\n"
+-msgstr "stat.size = %lld\n"
++msgid "inode block %<PRIu64> multiply claimed, state was %d\n"
++msgstr "blok i-węzła %<PRIu64> wielokrotnie przydzielony, stan był %d\n"
+-#: .././io/open.c:94
++#: .././repair/dino_chunks.c:796
+ #, c-format
+-msgid "stat.blocks = %lld\n"
+-msgstr "stat.blocks = %lld\n"
++msgid "imap claims in-use inode %<PRIu64> is free, "
++msgstr "imap twierdzi, że używany i-węzeł %<PRIu64> jest wolny, "
+-#: .././io/open.c:96
++#: .././repair/dino_chunks.c:801
++msgid "correcting imap\n"
++msgstr "poprawiono imap\n"
++
++#: .././repair/dino_chunks.c:803
++msgid "would correct imap\n"
++msgstr "imap zostałoby poprawione\n"
++
++#: .././repair/dino_chunks.c:858
+ #, c-format
+-msgid "stat.atime = %s"
+-msgstr "stat.atime = %s"
++msgid "cleared root inode %<PRIu64>\n"
++msgstr "wyczyszczono główny i-węzeł %<PRIu64>\n"
+-#: .././io/open.c:97
++#: .././repair/dino_chunks.c:862
+ #, c-format
+-msgid "stat.mtime = %s"
+-msgstr "stat.mtime = %s"
++msgid "would clear root inode %<PRIu64>\n"
++msgstr "główny węzeł %<PRIu64> zostałby wyczyszczony\n"
+-#: .././io/open.c:98
++#: .././repair/dino_chunks.c:870
+ #, c-format
+-msgid "stat.ctime = %s"
+-msgstr "stat.ctime = %s"
++msgid "cleared realtime bitmap inode %<PRIu64>\n"
++msgstr "wyczyszczono i-węzeł bitmapy realtime %<PRIu64>\n"
+-#: .././io/open.c:107
++#: .././repair/dino_chunks.c:874
+ #, c-format
+-msgid "fsxattr.xflags = 0x%x "
+-msgstr "fsxattr.xflags = 0x%x "
++msgid "would clear realtime bitmap inode %<PRIu64>\n"
++msgstr "i-węzeł bitmapy realtime %<PRIu64> zostałby wyczyszczony\n"
+-#: .././io/open.c:109
++#: .././repair/dino_chunks.c:882
+ #, c-format
+-msgid "fsxattr.projid = %u\n"
+-msgstr "fsxattr.projid = %u\n"
++msgid "cleared realtime summary inode %<PRIu64>\n"
++msgstr "wyczyszczono i-węzeł opisu realtime %<PRIu64>\n"
+-#: .././io/open.c:110
++#: .././repair/dino_chunks.c:886
+ #, c-format
+-msgid "fsxattr.extsize = %u\n"
+-msgstr "fsxattr.extsize = %u\n"
++msgid "would clear realtime summary inode %<PRIu64>\n"
++msgstr "i-węzeł opisu realtime %<PRIu64> zostałby wyczyszczony\n"
+-#: .././io/open.c:111
++#: .././repair/dino_chunks.c:890
+ #, c-format
+-msgid "fsxattr.nextents = %u\n"
+-msgstr "fsxattr.nextents = %u\n"
++msgid "cleared inode %<PRIu64>\n"
++msgstr "wyczyszczono i-węzeł %<PRIu64>\n"
+-#: .././io/open.c:112
++#: .././repair/dino_chunks.c:893
+ #, c-format
+-msgid "fsxattr.naextents = %u\n"
+-msgstr "fsxattr.naextents = %u\n"
++msgid "would have cleared inode %<PRIu64>\n"
++msgstr "i-węzeł %<PRIu64> zostałby wyczyszczony\n"
++
++#: .././repair/dino_chunks.c:1100 .././repair/dino_chunks.c:1135
++#: .././repair/dino_chunks.c:1249
++msgid "found inodes not in the inode allocation tree\n"
++msgstr "znaleziono i-węzły nieobecne w drzewie alokacji i-węzłów\n"
++
++#: .././repair/dinode.c:52
++msgid "real-time"
++msgstr "realtime"
++
++#: .././repair/dinode.c:53
++msgid "regular"
++msgstr "zwykłym"
+-#: .././io/open.c:117
++#: .././repair/dinode.c:76
+ #, c-format
+-msgid "dioattr.mem = 0x%x\n"
+-msgstr "dioattr.mem = 0x%x\n"
++msgid "clearing inode %<PRIu64> attributes\n"
++msgstr "wyczyszczono atrybuty i-węzła %<PRIu64>\n"
+-#: .././io/open.c:118
++#: .././repair/dinode.c:79
+ #, c-format
+-msgid "dioattr.miniosz = %u\n"
+-msgstr "dioattr.miniosz = %u\n"
++msgid "would have cleared inode %<PRIu64> attributes\n"
++msgstr "atrybuty i-węzła %<PRIu64> zostałyby wyczyszczone\n"
+-#: .././io/open.c:119
++#: .././repair/dinode.c:443
+ #, c-format
+-msgid "dioattr.maxiosz = %u\n"
+-msgstr "dioattr.maxiosz = %u\n"
++msgid "inode %<PRIu64> - bad rt extent start block number %<PRIu64>, offset %<PRIu64>\n"
++msgstr "i-węzeł %<PRIu64> - błędny numer bloku początkowego ekstentu rt %<PRIu64>, offset %<PRIu64>\n"
+-#: .././io/open.c:235
++#: .././repair/dinode.c:451
+ #, c-format
+-msgid ""
+-"\n"
+-" opens a new file in the requested mode\n"
+-"\n"
+-" Example:\n"
+-" 'open -cd /tmp/data' - creates/opens data file read-write for direct IO\n"
+-"\n"
+-" Opens a file for subsequent use by all of the other xfs_io commands.\n"
+-" With no arguments, open uses the stat command to show the current file.\n"
+-" -F -- foreign filesystem file, disallow XFS-specific commands\n"
+-" -a -- open with the O_APPEND flag (append-only mode)\n"
+-" -d -- open with O_DIRECT (non-buffered IO, note alignment constraints)\n"
+-" -f -- open with O_CREAT (create the file if it doesn't exist)\n"
+-" -m -- permissions to use in case a new file is created (default 0600)\n"
+-" -n -- open with O_NONBLOCK\n"
+-" -r -- open with O_RDONLY, the default is O_RDWR\n"
+-" -s -- open with O_SYNC\n"
+-" -t -- open with O_TRUNC (truncate the file to zero length if it exists)\n"
+-" -R -- mark the file as a realtime XFS file immediately after opening it\n"
+-" Note1: usually read/write direct IO requests must be blocksize aligned;\n"
+-"        some kernels, however, allow sectorsize alignment for direct IO.\n"
+-" Note2: the bmap for non-regular files can be obtained provided the file\n"
+-"        was opened correctly (in particular, must be opened read-only).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" otwarcie nowego pliku w żądanym trybie\n"
+-"\n"
+-" Przykład:\n"
+-" 'open -cd /tmp/data' - utworzenie/otwarcie pliku danych do odczytu i zapisu\n"
+-"                        z bezpośrednim we/wy\n"
+-"\n"
+-" open otwiera plik do późniejszego wykorzystania przez wszystkie inne polecenia\n"
+-" xfs_io.\n"
+-" Bez argumentów używa polecenia stat do pokazania bieżącego pliku.\n"
+-" -F - plik na obcym systemie plików, zabronienie używania poleceń dla XFS-a\n"
+-" -a - otwarcie z flagą O_APPEND (w trybie tylko dopisywania)\n"
+-" -d - otwarcie z flagą O_DIRECT (niebuforowane we/wy, ograniczenia wyrównania)\n"
+-" -f - otwarcie z flagą O_CREAT (utworzenie pliku jeśli nie istnieje)\n"
+-" -m - uprawnienia do użycia w przypadku tworzenia pliku (domyślnie 0600)\n"
+-" -n - otwarcie z flagą O_NONBLOCK\n"
+-" -r - otwarcie z flagą O_RDONLY (domyślne jest O_RDWR)\n"
+-" -s - otwarcie z flagą O_SYNC\n"
+-" -t - otwarcie z flagą O_TRUNC (ucięcie do zerowej długości jeśli istnieje)\n"
+-" -R - oznaczenie pliku jako realtime na XFS-ie zaraz po otwarciu\n"
+-" Uwaga1: zwykle żądania bezpośredniego we/wy muszą być wyrównane do rozmiaru\n"
+-"         bloku; niektóre jądra pozwalają na wyrównanie do rozmiaru sektora\n"
+-" Uwaga2: bmap dla plików innych niż zwykłe można uzyskać pod warunkiem, że\n"
+-"         plik zostanie poprawnie otwarty (w szczególności tylko do odczytu).\n"
++msgid "inode %<PRIu64> - bad rt extent last block number %<PRIu64>, offset %<PRIu64>\n"
++msgstr "i-węzeł %<PRIu64> - błędny numer bloku końcowego ekstentu rt %<PRIu64>, offset %<PRIu64>\n"
+-#: .././io/open.c:374
++#: .././repair/dinode.c:459
+ #, c-format
+-msgid ""
+-"\n"
+-" displays the project identifier associated with the current path\n"
+-"\n"
+-" Options:\n"
+-" -R -- recursively descend (useful when current path is a directory)\n"
+-" -D -- recursively descend, but only list projects on directories\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" wyświetlenie identyfikatora projektu związanego z bieżącą ścieżką\n"
+-"\n"
+-" Opcje:\n"
+-" -R - rekurencyjne zagłębianie się (przydatne kiedy bieżący plik jest katalogiem)\n"
+-" -D - rekurencyjne zagłębianie się, ale wypisywanie projektów tylko katalogów\n"
+-"\n"
++msgid "inode %<PRIu64> - bad rt extent overflows - start %<PRIu64>, end %<PRIu64>, offset %<PRIu64>\n"
++msgstr "i-węzeł %<PRIu64> - błędne przepełnienie ekstentu rt - początek %<PRIu64>, koniec %<PRIu64>, offset %<PRIu64>\n"
+-#: .././io/open.c:440
++#: .././repair/dinode.c:476
+ #, c-format
+-msgid "projid = %u\n"
+-msgstr "projid = %u\n"
++msgid "malformed rt inode extent [%<PRIu64> %<PRIu64>] (fs rtext size = %u)\n"
++msgstr "zniekształcony ekstent i-węzła rt [%<PRIu64> %<PRIu64>] (rozmiar fs rtext = %u)\n"
+-#: .././io/open.c:448
++#: .././repair/dinode.c:497
+ #, c-format
+-msgid ""
+-"\n"
+-" modifies the project identifier associated with the current path\n"
+-"\n"
+-" -R -- recursively descend (useful when current path is a directory)\n"
+-" -D -- recursively descend, only modifying projects on directories\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" modyfikacja identyfikatora projektu związanego z bieżącą ścieżką\n"
+-"\n"
+-" -R - rekurencyjne zagłębianie się (przydatne kiedy bieżący plik jest katalogiem)\n"
+-" -D - rekurencyjne zagłębianie się, ale zmiana projektów tylko katalogów\n"
+-"\n"
++msgid "data fork in rt ino %<PRIu64> claims dup rt extent,off - %<PRIu64>, start - %<PRIu64>, count %<PRIu64>\n"
++msgstr "gałąź danych w i-węźle rt %<PRIu64> odwołuje się do powtórzonego ekstentu rt, offset %<PRIu64>, początek %<PRIu64>, liczba %<PRIu64>\n"
+-#: .././io/open.c:507
++#: .././repair/dinode.c:516
+ #, c-format
+-msgid "invalid project ID -- %s\n"
+-msgstr "nieprawidłowy ID projektu - %s\n"
++msgid "bad state in rt block map %<PRIu64>\n"
++msgstr "błędny stan w mapie bloku rt %<PRIu64>\n"
+-#: .././io/open.c:523
++#: .././repair/dinode.c:522
+ #, c-format
+-msgid ""
+-"\n"
+-" report or modify preferred extent size (in bytes) for the current path\n"
+-"\n"
+-" -R -- recursively descend (useful when current path is a directory)\n"
+-" -D -- recursively descend, only modifying extsize on directories\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" odczyt lub zmiana preferowanego rozmiaru ekstentu (w bajtach) dla bieżącej\n"
+-" ścieżki\n"
+-"\n"
+-" -R - rekurencyjne zagłębianie się (przydatne kiedy bieżący plik jest katalogiem)\n"
+-" -D - rekurencyjne zagłębianie się, ale zmiana extsize tylko katalogów\n"
+-"\n"
++msgid "data fork in rt inode %<PRIu64> found metadata block %<PRIu64> in rt bmap\n"
++msgstr "gałąź danych w i-węźle rt %<PRIu64> - znaleziono blok metadanych %<PRIu64> w bmapie rt\n"
+-#: .././io/open.c:566
++#: .././repair/dinode.c:530
+ #, c-format
+-msgid "invalid target file type - file %s\n"
+-msgstr "nieprawidłowy rodzaj bliku docelowego - plik %s\n"
++msgid "data fork in rt inode %<PRIu64> claims used rt block %<PRIu64>\n"
++msgstr "gałąź danych w i-węźle rt %<PRIu64> odwołuje się do używanego bloku rt %<PRIu64>\n"
+-#: .././io/open.c:652
++#: .././repair/dinode.c:536
+ #, c-format
+-msgid "non-numeric extsize argument -- %s\n"
+-msgstr "nieliczbowy argument extsize - %s\n"
++msgid "illegal state %d in rt block map %<PRIu64>\n"
++msgstr "niedozwolony stan %d w mapie bloku rt %<PRIu64>\n"
+-#: .././io/open.c:699
++#: .././repair/dinode.c:599
+ #, c-format
+-msgid "invalid setfl argument -- '%c'\n"
+-msgstr "nieprawidłowy argument setfl - '%c'\n"
++msgid "bmap rec out of order, inode %<PRIu64> entry %d [o s c] [%<PRIu64> %<PRIu64> %<PRIu64>], %d [%<PRIu64> %<PRIu64> %<PRIu64>]\n"
++msgstr "rekord bmap uszkodzony, i-węzeł %<PRIu64> wpis %d [o s c] [%<PRIu64> %<PRIu64> %<PRIu64>], %d [%<PRIu64> %<PRIu64> %<PRIu64>]\n"
+-#: .././io/open.c:723
++#: .././repair/dinode.c:615
+ #, c-format
+-msgid "statfs.f_bsize = %lld\n"
+-msgstr "statfs.f_bsize = %lld\n"
++msgid "zero length extent (off = %<PRIu64>, fsbno = %<PRIu64>) in ino %<PRIu64>\n"
++msgstr "ekstent zerowej długości (off = %<PRIu64>, fsbno = %<PRIu64>) w i-węźle %<PRIu64>\n"
+-#: .././io/open.c:724
++#: .././repair/dinode.c:646
+ #, c-format
+-msgid "statfs.f_blocks = %lld\n"
+-msgstr "statfs.f_blocks = %lld\n"
++msgid "inode %<PRIu64> - bad extent starting block number %<PRIu64>, offset %<PRIu64>\n"
++msgstr "i-węzeł %<PRIu64> - błędny numer bloku początkowego ekstentu %<PRIu64>, offset %<PRIu64>\n"
+-#: .././io/open.c:726
++#: .././repair/dinode.c:654
+ #, c-format
+-msgid "statfs.f_frsize = %lld\n"
+-msgstr "statfs.f_frsize = %lld\n"
++msgid "inode %<PRIu64> - bad extent last block number %<PRIu64>, offset %<PRIu64>\n"
++msgstr "i-węzeł %<PRIu64> - błędny numer bloku końcowego ekstentu %<PRIu64>, offset %<PRIu64>\n"
+-#: .././io/open.c:728
++#: .././repair/dinode.c:662
+ #, c-format
+-msgid "statfs.f_bavail = %lld\n"
+-msgstr "statfs.f_bavail = %lld\n"
++msgid "inode %<PRIu64> - bad extent overflows - start %<PRIu64>, end %<PRIu64>, offset %<PRIu64>\n"
++msgstr "i-węzeł %<PRIu64> - błędne przepełnienie ekstentu - początek %<PRIu64>, koniec %<PRIu64>, offset %<PRIu64>\n"
+-#: .././io/open.c:730
++#: .././repair/dinode.c:672
+ #, c-format
+-msgid "statfs.f_files = %lld\n"
+-msgstr "statfs.f_files = %lld\n"
++msgid "inode %<PRIu64> - extent offset too large - start %<PRIu64>, count %<PRIu64>, offset %<PRIu64>\n"
++msgstr "i-węzeł %<PRIu64> - offset ekstentu zbyt duży - początek %<PRIu64>, liczba %<PRIu64>, offset %<PRIu64>\n"
+-#: .././io/open.c:731
++#: .././repair/dinode.c:693
+ #, c-format
+-msgid "statfs.f_ffree = %lld\n"
+-msgstr "statfs.f_ffree = %lld\n"
++msgid ""
++"Fatal error: inode %<PRIu64> - blkmap_set_ext(): %s\n"
++"\t%s fork, off - %<PRIu64>, start - %<PRIu64>, cnt %<PRIu64>\n"
++msgstr ""
++"Błąd krytyczny: i-węzeł %<PRIu64> - blkmap_set_ext(): %s\n"
++"\tgałąź %s, offset %<PRIu64>, początek %<PRIu64>, liczba %<PRIu64>\n"
+-#: .././io/open.c:738
++#: .././repair/dinode.c:724
+ #, c-format
+-msgid "geom.bsize = %u\n"
+-msgstr "geom.bsize = %u\n"
++msgid "%s fork in ino %<PRIu64> claims dup extent, off - %<PRIu64>, start - %<PRIu64>, cnt %<PRIu64>\n"
++msgstr "gałąź %s w i-węźle %<PRIu64> odwołuje się do powtórzonego ekstentu, offset %<PRIu64>, początek %<PRIu64>, liczba %<PRIu64>\n"
+-#: .././io/open.c:739
++#: .././repair/dinode.c:743
+ #, c-format
+-msgid "geom.agcount = %u\n"
+-msgstr "geom.agcount = %u\n"
++msgid "%s fork in ino %<PRIu64> claims free block %<PRIu64>\n"
++msgstr "gałąź %s w i-węźle %<PRIu64> odwołuje się do wolnego bloku %<PRIu64>\n"
+-#: .././io/open.c:740
++#: .././repair/dinode.c:751
+ #, c-format
+-msgid "geom.agblocks = %u\n"
+-msgstr "geom.agblocks = %u\n"
++msgid "bad state in block map %<PRIu64>\n"
++msgstr "błędny stan w mapie bloku %<PRIu64>\n"
+-#: .././io/open.c:741
++#: .././repair/dinode.c:757
+ #, c-format
+-msgid "geom.datablocks = %llu\n"
+-msgstr "geom.datablocks = %llu\n"
++msgid "%s fork in inode %<PRIu64> claims metadata block %<PRIu64>\n"
++msgstr "gałąź %s w i-węźle %<PRIu64> odwołuje się do bloku metadanych %<PRIu64>\n"
+-#: .././io/open.c:743
++#: .././repair/dinode.c:765
+ #, c-format
+-msgid "geom.rtblocks = %llu\n"
+-msgstr "geom.rtblocks = %llu\n"
++msgid "%s fork in %s inode %<PRIu64> claims used block %<PRIu64>\n"
++msgstr "gałąź %s w i-węźle %s %<PRIu64> odwołuje się do używanego bloku %<PRIu64>\n"
+-#: .././io/open.c:745
++#: .././repair/dinode.c:771
+ #, c-format
+-msgid "geom.rtextents = %llu\n"
+-msgstr "geom.rtextents = %llu\n"
++msgid "illegal state %d in block map %<PRIu64>\n"
++msgstr "niedozwolony stan %d w mapie bloku %<PRIu64>\n"
+-#: .././io/open.c:747
++#: .././repair/dinode.c:784
+ #, c-format
+-msgid "geom.rtextsize = %u\n"
+-msgstr "geom.rtextsize = %u\n"
++msgid "correcting nextents for inode %<PRIu64>\n"
++msgstr "poprawiono nextents dla i-węzła %<PRIu64>\n"
+-#: .././io/open.c:748
++#: .././repair/dinode.c:857
+ #, c-format
+-msgid "geom.sunit = %u\n"
+-msgstr "geom.sunit = %u\n"
++msgid "cannot read inode (%u/%u), disk block %<PRIu64>\n"
++msgstr "nie można odczytać i-węzła (%u/%u), blok dysku %<PRIu64>\n"
+-#: .././io/open.c:749
++#: .././repair/dinode.c:928
+ #, c-format
+-msgid "geom.swidth = %u\n"
+-msgstr "geom.swidth = %u\n"
++msgid "bad level %d in inode %<PRIu64> bmap btree root block\n"
++msgstr "błędny poziom %d w bloku głównym bmap btree i-węzła %<PRIu64>\n"
+-#: .././io/open.c:754
++#: .././repair/dinode.c:934
+ #, c-format
+-msgid "counts.freedata = %llu\n"
+-msgstr "counts.freedata = %llu\n"
++msgid "bad numrecs 0 in inode %<PRIu64> bmap btree root block\n"
++msgstr "błędne numrecs 0 w bloku głównym bmap btree i-węzła %<PRIu64>\n"
+-#: .././io/open.c:756
++#: .././repair/dinode.c:943
+ #, c-format
+-msgid "counts.freertx = %llu\n"
+-msgstr "counts.freertx = %llu\n"
++msgid "indicated size of %s btree root (%d bytes) greater than space in inode %<PRIu64> %s fork\n"
++msgstr "oznaczony rozmiar korzenia b-drzewa %s (%d bajtów) większy niż miejsce w i-węźle %<PRIu64> gałęzi %s\n"
+-#: .././io/open.c:758
++#: .././repair/dinode.c:963 .././repair/scan.c:428
+ #, c-format
+-msgid "counts.freeino = %llu\n"
+-msgstr "counts.freeino = %llu\n"
++msgid "bad bmap btree ptr 0x%llx in ino %<PRIu64>\n"
++msgstr "błędny wskaźnik bmap btree 0x%llx w i-węźle %<PRIu64>\n"
+-#: .././io/open.c:760
++#: .././repair/dinode.c:982
+ #, c-format
+-msgid "counts.allocino = %llu\n"
+-msgstr "counts.allocino = %llu\n"
+-
+-#: .././io/open.c:775
+-msgid "[-acdrstx] [path]"
+-msgstr "[-acdrstx] [ścieżka]"
++msgid "correcting key in bmbt root (was %llu, now %<PRIu64>) in inode %<PRIu64> %s fork\n"
++msgstr "poprawiono klucz w korzeniu bmbt (był %llu, jest %<PRIu64>) w i-węźle %<PRIu64> gałęzi %s\n"
+-#: .././io/open.c:776
+-msgid "open the file specified by path"
+-msgstr "otwarcie pliku określonego ścieżką"
++#: .././repair/dinode.c:994
++#, c-format
++msgid "bad key in bmbt root (is %llu, would reset to %<PRIu64>) in inode %<PRIu64> %s fork\n"
++msgstr "błędny klucz w korzeniu bmbt (jest %llu, zostałby przestawiony na %<PRIu64>) w i-węźle %<PRIu64> gałęzi %s\n"
+-#: .././io/open.c:784
+-msgid "[-v]"
+-msgstr "[-v]"
++#: .././repair/dinode.c:1011
++#, c-format
++msgid "out of order bmbt root key %<PRIu64> in inode %<PRIu64> %s fork\n"
++msgstr "niepoprawny klucz korzenia bmbt %<PRIu64> w i-węźle %<PRIu64> gałęzi %s\n"
+-#: .././io/open.c:785
+-msgid "statistics on the currently open file"
+-msgstr "statystyki dla aktualnie otwartego pliku"
++#: .././repair/dinode.c:1028
++#, c-format
++msgid "extent count for ino %<PRIu64> %s fork too low (%<PRIu64>) for file format\n"
++msgstr "i-węzeł %<PRIu64>: liczba ekstentów dla odgałęzienia %s zbyt mała (%<PRIu64>) dla formatu pliku\n"
+-#: .././io/open.c:793
+-msgid "close the current open file"
+-msgstr "zamknięcie bieżącego otwartego pliku"
++#: .././repair/dinode.c:1039
++#, c-format
++msgid "bad fwd (right) sibling pointer (saw %<PRIu64> should be NULLDFSBNO)\n"
++msgstr "błędny wskaźnik fwd (prawy) (widziano %<PRIu64>, powinno być NULLDFSBNO)\n"
+-#: .././io/open.c:797
+-msgid "[-adx]"
+-msgstr "[-adx]"
++#: .././repair/dinode.c:1042
++#, c-format
++msgid "\tin inode %<PRIu64> (%s fork) bmap btree block %<PRIu64>\n"
++msgstr "\tw i-węźle %<PRIu64> (gałęzi %s) bloku bmap btree %<PRIu64>\n"
+-#: .././io/open.c:800
+-msgid "set/clear append/direct flags on the open file"
+-msgstr "ustawienie/zdjęcie flag dopisywania/bezpośredniego we/wy dla otwartego pliku"
++#: .././repair/dinode.c:1124
++#, c-format
++msgid "local inode %<PRIu64> data fork is too large (size = %lld, max = %d)\n"
++msgstr "gałąź danych lokalnego i-węzła %<PRIu64> zbyt duża (rozmiar = %lld, maksimum = %d)\n"
+-#: .././io/open.c:806
+-msgid "statistics on the filesystem of the currently open file"
+-msgstr "statystyki dla systemu plików aktualnie otwartego pliku"
++#: .././repair/dinode.c:1132
++#, c-format
++msgid "local inode %<PRIu64> attr fork too large (size %d, max = %d)\n"
++msgstr "gałąź atrybutów lokalnego i-węzła %<PRIu64> zbyt duża (rozmiar %d, maksimum = %d)\n"
+-#: .././io/open.c:810
+-msgid "[-D | -R] projid"
+-msgstr "[-D | -R] projid"
++#: .././repair/dinode.c:1139
++#, c-format
++msgid "local inode %<PRIu64> attr too small (size = %d, min size = %zd)\n"
++msgstr "gałąź atrybutów lokalnego i-węzła %<PRIu64> zbyt mała (rozmiar = %d, minimum = %zd)\n"
+-#: .././io/open.c:815
+-msgid "change project identifier on the currently open file"
+-msgstr "zmiana identyfikatora projektu aktualnie otwartego pliku"
++#: .././repair/dinode.c:1163
++#, c-format
++msgid "mismatch between format (%d) and size (%<PRId64>) in symlink ino %<PRIu64>\n"
++msgstr "niezgodność między formatem (%d) a rozmiarem (%<PRId64>) w i-węźle dowiązania symbolicznego %<PRIu64>\n"
+-#: .././io/open.c:820
+-msgid "[-D | -R]"
+-msgstr "[-D | -R]"
++#: .././repair/dinode.c:1170
++#, c-format
++msgid "mismatch between format (%d) and size (%<PRId64>) in symlink inode %<PRIu64>\n"
++msgstr "niezgodność między formatem (%d) a rozmiarem (%<PRId64>) w i-węźle dowiązania symbolicznego %<PRIu64>\n"
+-#: .././io/open.c:825
+-msgid "list project identifier set on the currently open file"
+-msgstr "wypisanie identyfikatora projektu aktualnie otwartego pliku"
++#: .././repair/dinode.c:1185
++#, c-format
++msgid "bad number of extents (%d) in symlink %<PRIu64> data fork\n"
++msgstr "błędna liczba ekstentów (%d) w gałęzi danych dowiązania symbolicznego %<PRIu64>\n"
+-#: .././io/open.c:830
+-msgid "[-D | -R] [extsize]"
+-msgstr "[-D | -R] [rozmiar_fragmentu]"
++#: .././repair/dinode.c:1198
++#, c-format
++msgid "bad extent #%d offset (%<PRIu64>) in symlink %<PRIu64> data fork\n"
++msgstr "błędny offset ekstentu %d (%<PRIu64>) w gałęzi danych dowiązania symbolicznego %<PRIu64>\n"
+-#: .././io/open.c:835
+-msgid "get/set preferred extent size (in bytes) for the open file"
+-msgstr "pobranie/ustawienie preferowanego rozmiaru ekstentu (w bajtach) dla otwartego pliku"
++#: .././repair/dinode.c:1204
++#, c-format
++msgid "bad extent #%d count (%<PRIu64>) in symlink %<PRIu64> data fork\n"
++msgstr "błędna liczba ekstentów #%d (%<PRIu64>) w gałęzi danych dowiązania symbolicznego %<PRIu64>\n"
+-#: .././growfs/xfs_growfs.c:34
++#: .././repair/dinode.c:1262
+ #, c-format
+-msgid ""
+-"Usage: %s [options] mountpoint\n"
+-"\n"
+-"Options:\n"
+-"\t-d          grow data/metadata section\n"
+-"\t-l          grow log section\n"
+-"\t-r          grow realtime section\n"
+-"\t-n          don't change anything, just show geometry\n"
+-"\t-I          allow inode numbers to exceed %d significant bits\n"
+-"\t-i          convert log from external to internal format\n"
+-"\t-t          alternate location for mount table (/etc/mtab)\n"
+-"\t-x          convert log from internal to external format\n"
+-"\t-D size     grow data/metadata section to size blks\n"
+-"\t-L size     grow/shrink log section to size blks\n"
+-"\t-R size     grow realtime section to size blks\n"
+-"\t-e size     set realtime extent size to size blks\n"
+-"\t-m imaxpct  set inode max percent to imaxpct\n"
+-"\t-V          print version information\n"
+-msgstr ""
+-"Składnia: %s [opcje] punkt_montowania\n"
+-"\n"
+-"Opcje:\n"
+-"\t-d          powiększenie sekcji danych/metadanych\n"
+-"\t-l          powiększenie sekcji logu\n"
+-"\t-r          powiększenie sekcji realtime\n"
+-"\t-n          bez zmian, tylko pokazanie geometrii\n"
+-"\t-I          zezwolenie na przekroczenie %d bitów przez numery i-węzłów\n"
+-"\t-i          przekształcenie logu z formatu zewnętrznego na wewnętrzny\n"
+-"\t-t          inne położenie tabeli montowań (/etc/mtab)\n"
+-"\t-x          przekształcenie logu z formatu wewnętrznego na zewnętrzny\n"
+-"\t-D rozmiar  powiększenie sekcji danych/metadanych do rozmiaru w blokach\n"
+-"\t-L rozmiar  powiększenie/zmniejszenie sekcji logu do rozmiaru w blokach\n"
+-"\t-R rozmiar  powiększenie sekcji realtime do rozmiaru w blokach\n"
+-"\t-e rozmiar  stawienie rozmiaru ekstentu realtime na rozmiar w blokach\n"
+-"\t-m imaxpct  ustawienie maksymalnego procentu i-węzłów na imaxpct\n"
+-"\t-V          wypisanie informacji o wersji\n"
++msgid "cannot read inode %<PRIu64>, file block %d, NULL disk block\n"
++msgstr "nie można odczytać i-węzła %<PRIu64>, blok pliku %d, zerowy blok dysku\n"
++
++#: .././repair/dinode.c:1284
++#, c-format
++msgid "cannot read inode %<PRIu64>, file block %d, disk block %<PRIu64>\n"
++msgstr "nie można odczytać i-węzła %<PRIu64>, blok pliku %d, blok dysku %<PRIu64>\n"
+-#: .././growfs/xfs_growfs.c:68
++#: .././repair/dinode.c:1290
+ #, c-format
+ msgid ""
+-"meta-data=%-22s isize=%-6u agcount=%u, agsize=%u blks\n"
+-"         =%-22s sectsz=%-5u attr=%u\n"
+-"data     =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n"
+-"         =%-22s sunit=%-6u swidth=%u blks\n"
+-"naming   =version %-14u bsize=%-6u ascii-ci=%d\n"
+-"log      =%-22s bsize=%-6u blocks=%u, version=%u\n"
+-"         =%-22s sectsz=%-5u sunit=%u blks, lazy-count=%u\n"
+-"realtime =%-22s extsz=%-6u blocks=%llu, rtextents=%llu\n"
++"Bad symlink buffer CRC, block %<PRIu64>, inode %<PRIu64>.\n"
++"Correcting CRC, but symlink may be bad.\n"
+ msgstr ""
+-"metadane=%-22s isize=%-6u agcount=%u, agsize=%u bloków\n"
+-"        =%-22s sectsz=%-5u attr=%u\n"
+-"dane    =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n"
+-"        =%-22s sunit=%-6u swidth=%u bloków\n"
+-"nazwy   =wersja %-14u bsize=%-6u\n"
+-" ascii-ci=%d\n"
+-"log     =%-22s bsize=%-6u blocks=%u, wersja=%u\n"
+-"        =%-22s sectsz=%-5u sunit=%u bloków, lazy-count=%u\n"
+-"realtime=%-22s extsz=%-6u blocks=%llu, rtextents=%llu\n"
+-
+-#: .././growfs/xfs_growfs.c:83 .././growfs/xfs_growfs.c:444
+-#: .././growfs/xfs_growfs.c:445
+-msgid "internal"
+-msgstr "wewnętrzny"
++"Błędna suma kontrolna bufora dowiązania symbolicznego, blok %<PRIu64>, i-węzeł %<PRIu64>.\n"
++"Poprawianie CRC, ale dowiązanie symboliczne może być błędne.\n"
+-#: .././growfs/xfs_growfs.c:83 .././growfs/xfs_growfs.c:86
+-#: .././growfs/xfs_growfs.c:444 .././growfs/xfs_growfs.c:445
+-msgid "external"
+-msgstr "zewnętrzny"
+-
+-#: .././growfs/xfs_growfs.c:199
++#: .././repair/dinode.c:1303
+ #, c-format
+-msgid "%s: %s is not a mounted XFS filesystem\n"
+-msgstr "%s: %s nie jest podmontowanym systemem plików XFS\n"
++msgid "bad symlink header ino %<PRIu64>, file block %d, disk block %<PRIu64>\n"
++msgstr "błędny i-węzeł nagłówka dowiązania symbolicznego %<PRIu64>, blok pliku %d, blok dysku %<PRIu64>\n"
+-#: .././growfs/xfs_growfs.c:216
++#: .././repair/dinode.c:1346
+ #, c-format
+-msgid "%s: specified file [\"%s\"] is not on an XFS filesystem\n"
+-msgstr "%s: podany plik [\"%s\"] nie jest na systemie plików XFS\n"
++msgid "symlink in inode %<PRIu64> too long (%llu chars)\n"
++msgstr "dowiązanie symboliczne w i-węźle %<PRIu64> zbyt długie (%llu znaków)\n"
+-#: .././growfs/xfs_growfs.c:233
++#: .././repair/dinode.c:1378
+ #, c-format
+-msgid "%s: cannot determine geometry of filesystem mounted at %s: %s\n"
+-msgstr "%s: nie można określić geometrii systemu plików podmontowanego pod %s: %s\n"
++msgid "found illegal null character in symlink inode %<PRIu64>\n"
++msgstr "znaleziono niedozwolony znak null w i-węźle dowiązania symbolicznego %<PRIu64>\n"
+-#: .././growfs/xfs_growfs.c:268
++#: .././repair/dinode.c:1392 .././repair/dinode.c:1402
+ #, c-format
+-msgid "%s: failed to access data device for %s\n"
+-msgstr "%s: nie udało się uzyskać dostępu do urządzenia z danymi dla %s\n"
++msgid "component of symlink in inode %<PRIu64> too long\n"
++msgstr "składnik dowiązania symbolicznego w i-węźle %<PRIu64> zbyt długi\n"
+-#: .././growfs/xfs_growfs.c:273
++#: .././repair/dinode.c:1428
+ #, c-format
+-msgid "%s: failed to access external log for %s\n"
+-msgstr "%s: nie udało się uzyskać dostępu do zewnętrznego logu dla %s\n"
++msgid "inode %<PRIu64> has bad inode type (IFMNT)\n"
++msgstr "i-węzeł %<PRIu64> ma błędny typ i-węzła (IFMNT)\n"
+-#: .././growfs/xfs_growfs.c:279
++#: .././repair/dinode.c:1439
+ #, c-format
+-msgid "%s: failed to access realtime device for %s\n"
+-msgstr "%s: nie udało się uzyskać dostępu do urządzenia realtime dla %s\n"
++msgid "size of character device inode %<PRIu64> != 0 (%<PRId64> bytes)\n"
++msgstr "rozmiar i-węzła urządzenia znakowego %<PRIu64> != 0 (%<PRId64> bajtów)\n"
+-#: .././growfs/xfs_growfs.c:314
++#: .././repair/dinode.c:1444
+ #, c-format
+-msgid "data size %lld too large, maximum is %lld\n"
+-msgstr "rozmiar danych %lld zbyt duży, maksymalny to %lld\n"
++msgid "size of block device inode %<PRIu64> != 0 (%<PRId64> bytes)\n"
++msgstr "rozmiar i-węzła urządzenia blokowego %<PRIu64> != 0 (%<PRId64> bajtów)\n"
+-#: .././growfs/xfs_growfs.c:321
++#: .././repair/dinode.c:1449
+ #, c-format
+-msgid "data size %lld too small, old size is %lld\n"
+-msgstr "rozmiar danych %lld zbyt mały, stary rozmiar to %lld\n"
++msgid "size of socket inode %<PRIu64> != 0 (%<PRId64> bytes)\n"
++msgstr "rozmiar i-węzła gniazda %<PRIu64> != 0 (%<PRId64> bajtów)\n"
+-#: .././growfs/xfs_growfs.c:329
++#: .././repair/dinode.c:1454
+ #, c-format
+-msgid "data size unchanged, skipping\n"
+-msgstr "rozmiar danych nie zmieniony, pominięto\n"
++msgid "size of fifo inode %<PRIu64> != 0 (%<PRId64> bytes)\n"
++msgstr "rozmiar i-węzła potoku %<PRIu64> != 0 (%<PRId64> bajtów)\n"
+-#: .././growfs/xfs_growfs.c:332
++#: .././repair/dinode.c:1458
+ #, c-format
+-msgid "inode max pct unchanged, skipping\n"
+-msgstr "maksymalny procent i-węzłów nie zmieniony, pominięto\n"
++msgid "Internal error - process_misc_ino_types, illegal type %d\n"
++msgstr "Błąd wewnętrzny - process_misc_ino_types, niedozwolony typ %d\n"
+-#: .././growfs/xfs_growfs.c:339 .././growfs/xfs_growfs.c:378
+-#: .././growfs/xfs_growfs.c:413
++#: .././repair/dinode.c:1485
+ #, c-format
+-msgid "%s: growfs operation in progress already\n"
+-msgstr "%s: operacja growfs już trwa\n"
++msgid "size of character device inode %<PRIu64> != 0 (%<PRIu64> blocks)\n"
++msgstr "rozmiar i-węzła urządzenia znakowego %<PRIu64> != 0 (%<PRIu64> bloków)\n"
+-#: .././growfs/xfs_growfs.c:343
++#: .././repair/dinode.c:1490
+ #, c-format
+-msgid "%s: XFS_IOC_FSGROWFSDATA xfsctl failed: %s\n"
+-msgstr "%s: xfsctl XFS_IOC_FSGROWFSDATA nie powiodło się: %s\n"
++msgid "size of block device inode %<PRIu64> != 0 (%<PRIu64> blocks)\n"
++msgstr "rozmiar i-węzła urządzenia blokowego %<PRIu64> != 0 (%<PRIu64> bloków)\n"
+-#: .././growfs/xfs_growfs.c:359
++#: .././repair/dinode.c:1495
+ #, c-format
+-msgid "realtime size %lld too large, maximum is %lld\n"
+-msgstr "rozmiar realtime %lld zbyt duży, maksymalny to %lld\n"
++msgid "size of socket inode %<PRIu64> != 0 (%<PRIu64> blocks)\n"
++msgstr "rozmiar i-węzła gniazda %<PRIu64> != 0 (%<PRIu64> bloków)\n"
+-#: .././growfs/xfs_growfs.c:365
++#: .././repair/dinode.c:1500
+ #, c-format
+-msgid "realtime size %lld too small, old size is %lld\n"
+-msgstr "rozmiar realtime %lld zbyt mały, stary rozmiar to %lld\n"
++msgid "size of fifo inode %<PRIu64> != 0 (%<PRIu64> blocks)\n"
++msgstr "rozmiar i-węzła potoku %<PRIu64> != 0 (%<PRIu64> bloków)\n"
+-#: .././growfs/xfs_growfs.c:371
++#: .././repair/dinode.c:1578
+ #, c-format
+-msgid "realtime size unchanged, skipping\n"
+-msgstr "rozmiar realtime nie zmieniony, pominięto\n"
++msgid "root inode %<PRIu64> has bad type 0x%x\n"
++msgstr "i-węzeł główny %<PRIu64> ma błędny typ 0x%x\n"
+-#: .././growfs/xfs_growfs.c:382
+-#, c-format
+-msgid "%s: realtime growth not implemented\n"
+-msgstr "%s: powiększanie realtime nie jest zaimplementowane\n"
++#: .././repair/dinode.c:1582
++msgid "resetting to directory\n"
++msgstr "przestawiono na katalog\n"
+-#: .././growfs/xfs_growfs.c:386
+-#, c-format
+-msgid "%s: XFS_IOC_FSGROWFSRT xfsctl failed: %s\n"
+-msgstr "%s: xfsctl XFS_IOC_FSGROWFSRT nie powiodło się: %s\n"
++#: .././repair/dinode.c:1586
++msgid "would reset to directory\n"
++msgstr "zostałby przestawiony na katalog\n"
+-#: .././growfs/xfs_growfs.c:407
++#: .././repair/dinode.c:1592
+ #, c-format
+-msgid "log size unchanged, skipping\n"
+-msgstr "rozmiar logu nie zmieniony, pominięto\n"
++msgid "user quota inode %<PRIu64> has bad type 0x%x\n"
++msgstr "i-węzeł limitu użytkownika %<PRIu64> ma błędny typ 0x%x\n"
+-#: .././growfs/xfs_growfs.c:417
++#: .././repair/dinode.c:1601
+ #, c-format
+-msgid "%s: log growth not supported yet\n"
+-msgstr "%s: powiększanie logu nie jest jeszcze obsługiwane\n"
++msgid "group quota inode %<PRIu64> has bad type 0x%x\n"
++msgstr "i-węzeł limitu grupy %<PRIu64> ma błędny typ 0x%x\n"
+-#: .././growfs/xfs_growfs.c:421
++#: .././repair/dinode.c:1610
+ #, c-format
+-msgid "%s: XFS_IOC_FSGROWFSLOG xfsctl failed: %s\n"
+-msgstr "%s: xfsctl XFS_IOC_FSGROWFSLOG nie powiodło się: %s\n"
++msgid "project quota inode %<PRIu64> has bad type 0x%x\n"
++msgstr "i-węzeł limitu projektu %<PRIu64> ma błędny typ 0x%x\n"
+-#: .././growfs/xfs_growfs.c:429
++#: .././repair/dinode.c:1620
+ #, c-format
+-msgid "%s: XFS_IOC_FSGEOMETRY xfsctl failed: %s\n"
+-msgstr "%s: xfsctl XFS_IOC_FSGEOMETRY nie powiodło się: %s\n"
++msgid "realtime summary inode %<PRIu64> has bad type 0x%x, "
++msgstr "i-węzeł opisu realtime %<PRIu64> ma błędny typ 0x%x, "
+-#: .././growfs/xfs_growfs.c:434
+-#, c-format
+-msgid "data blocks changed from %lld to %lld\n"
+-msgstr "bloki danych zmienione z %lld na %lld\n"
++#: .././repair/dinode.c:1623 .././repair/dinode.c:1644
++msgid "resetting to regular file\n"
++msgstr "przestawiono na zwykły plik\n"
+-#: .././growfs/xfs_growfs.c:437
++#: .././repair/dinode.c:1627 .././repair/dinode.c:1648
++msgid "would reset to regular file\n"
++msgstr "zostałby przestawiony na zwykły plik\n"
++
++#: .././repair/dinode.c:1632
+ #, c-format
+-msgid "inode max percent changed from %d to %d\n"
+-msgstr "maksymalny procent i-węzłów zmieniony z %d na %d\n"
++msgid "bad # of extents (%u) for realtime summary inode %<PRIu64>\n"
++msgstr "błędna liczba ekstentów (%u) dla i-węzłą opisu realtime %<PRIu64>\n"
+-#: .././growfs/xfs_growfs.c:440
++#: .././repair/dinode.c:1641
+ #, c-format
+-msgid "log blocks changed from %d to %d\n"
+-msgstr "bloki logu zmienione z %d na %d\n"
++msgid "realtime bitmap inode %<PRIu64> has bad type 0x%x, "
++msgstr "i-węzeł bitmapy realtime %<PRIu64> ma błędny typ 0x%x, "
+-#: .././growfs/xfs_growfs.c:443
++#: .././repair/dinode.c:1653
+ #, c-format
+-msgid "log changed from %s to %s\n"
+-msgstr "log zmieniony - był %s, jest %s\n"
++msgid "bad # of extents (%u) for realtime bitmap inode %<PRIu64>\n"
++msgstr "błędna liczba ekstentów (%u) dla i-węzłą bitmapy realtime %<PRIu64>\n"
+-#: .././growfs/xfs_growfs.c:447
++#: .././repair/dinode.c:1688
+ #, c-format
+-msgid "realtime blocks changed from %lld to %lld\n"
+-msgstr "bloki realtime zmienione z %lld na %lld\n"
++msgid "mismatch between format (%d) and size (%<PRId64>) in directory ino %<PRIu64>\n"
++msgstr "niezgodność między formatem (%d) a rozmiarem (%<PRId64>) w i-węźle katalogu %<PRIu64>\n"
+-#: .././growfs/xfs_growfs.c:450
++#: .././repair/dinode.c:1694
+ #, c-format
+-msgid "realtime extent size changed from %d to %d\n"
+-msgstr "rozmiar ekstentu realtime zmieniony z %d na %d\n"
++msgid "directory inode %<PRIu64> has bad size %<PRId64>\n"
++msgstr "i-węzeł katalogu %<PRIu64> ma błędny rozmiar %<PRId64>\n"
+-#: .././fsr/xfs_fsr.c:196
++#: .././repair/dinode.c:1702
+ #, c-format
+-msgid "%s: cannot read %s\n"
+-msgstr "%s: nie można odczytać %s\n"
++msgid "bad data fork in symlink %<PRIu64>\n"
++msgstr "błędna gałąź danych w dowiązaniu symbolicznym %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:275
++#: .././repair/dinode.c:1723
+ #, c-format
+-msgid "%s: Stats not yet supported for XFS\n"
+-msgstr "%s: statystyki nie są jeszcze obsługiwane dla XFS-a\n"
++msgid "found inode %<PRIu64> claiming to be a real-time file\n"
++msgstr "znaleziono i-węzeł %<PRIu64> twierdzący, że należy do pliku realtime\n"
+-#: .././fsr/xfs_fsr.c:339
++#: .././repair/dinode.c:1732
+ #, c-format
+-msgid "%s: could not stat: %s: %s\n"
+-msgstr "%s: nie można wykonać stat: %s: %s\n"
++msgid "realtime bitmap inode %<PRIu64> has bad size %<PRId64> (should be %<PRIu64>)\n"
++msgstr "i-węzeł bitmapy realtime %<PRIu64> ma błędny rozmiar %<PRId64> (powinien być %<PRIu64>)\n"
+-#: .././fsr/xfs_fsr.c:358
++#: .././repair/dinode.c:1743
+ #, c-format
+-msgid "%s: char special not supported: %s\n"
+-msgstr "%s: urządzenia znakowe nie są obsługiwane: %s\n"
++msgid "realtime summary inode %<PRIu64> has bad size %<PRId64> (should be %d)\n"
++msgstr "i-węzeł opisu realtime %<PRIu64> ma błędny rozmiar %<PRId64> (powinien być %d)\n"
+-#: .././fsr/xfs_fsr.c:364
++#: .././repair/dinode.c:1771
+ #, c-format
+-msgid "%s: cannot defragment: %s: Not XFS\n"
+-msgstr "%s: nie można zdefragmentować: %s: to nie jest XFS\n"
++msgid "bad attr fork offset %d in dev inode %<PRIu64>, should be %d\n"
++msgstr "błędny offset gałęzi atrybutów %d w i-węźle urządzenia %<PRIu64>, powinien być %d\n"
+-#: .././fsr/xfs_fsr.c:374
++#: .././repair/dinode.c:1783
+ #, c-format
+-msgid "%s: not fsys dev, dir, or reg file, ignoring\n"
+-msgstr "%s: nie jest urządzeniem z systemem plików, katalogiem ani zwykłym plikiem, zignorowano\n"
++msgid "bad attr fork offset %d in inode %<PRIu64>, max=%d\n"
++msgstr "błędny offset gałęzi atrybutów %d w i-węźle %<PRIu64>, maksimum=%d\n"
+-#: .././fsr/xfs_fsr.c:389
++#: .././repair/dinode.c:1790
+ #, c-format
+-msgid ""
+-"Usage: %s [-d] [-v] [-n] [-s] [-g] [-t time] [-p passes] [-f leftf] [-m mtab]\n"
+-"       %s [-d] [-v] [-n] [-s] [-g] xfsdev | dir | file ...\n"
+-"\n"
+-"Options:\n"
+-"       -n              Do nothing, only interesting with -v. Not\n"
+-"                       effective with in mtab mode.\n"
+-"       -s\t\tPrint statistics only.\n"
+-"       -g              Print to syslog (default if stdout not a tty).\n"
+-"       -t time         How long to run in seconds.\n"
+-"       -p passes\tNumber of passes before terminating global re-org.\n"
+-"       -f leftoff      Use this instead of %s.\n"
+-"       -m mtab         Use something other than /etc/mtab.\n"
+-"       -d              Debug, print even more.\n"
+-"       -v\t\tVerbose, more -v's more verbose.\n"
+-msgstr ""
+-"Składnia: %s [-d] [-v] [-n] [-s] [-g] [-t czas] [-p przebiegi] [-f leftf] [-m mtab]\n"
+-"          %s [-d] [-v] [-n] [-s] [-g] xfsdev | katalog | plik ...\n"
+-"\n"
+-"Opcje:\n"
+-"       -n              Nie robienie niczego, przydatne tylko z -v.\n"
+-"                       Nieprzydatne w trybie mtab.\n"
+-"       -s              Tylko wypisanie statystyk.\n"
+-"       -g              Pisanie do sysloga (domyślne jeśli stdout to nie tty).\n"
+-"       -t czas         Czas działania w sekundach.\n"
+-"       -p przebiegi    Liczba przebiegów przed zakończeniem reorganizacji.\n"
+-"       -f leftoff      Użycie tego pliku zamiast %s.\n"
+-"       -m mtab         Użycie pliku innego niż /etc/mtab.\n"
+-"       -d              Diagnostyka, dużo więcej informacji.\n"
+-"       -v              Tym więcej szczegółów, im więcej opcji -v.\n"
++msgid "unexpected inode format %d\n"
++msgstr "nieoczekiwany format i-węzła %d\n"
+-#: .././fsr/xfs_fsr.c:420
++#: .././repair/dinode.c:1811
+ #, c-format
+-msgid "could not open mtab file: %s\n"
+-msgstr "nie udało się otworzyć pliku mtab: %s\n"
++msgid "correcting nblocks for inode %<PRIu64>, was %llu - counted %<PRIu64>\n"
++msgstr "poprawiono nblocks dla i-węzła %<PRIu64> - było %llu, naliczono %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:426 .././fsr/xfs_fsr.c:458
++#: .././repair/dinode.c:1818
+ #, c-format
+-msgid "out of memory: %s\n"
+-msgstr "brak pamięci: %s\n"
++msgid "bad nblocks %llu for inode %<PRIu64>, would reset to %<PRIu64>\n"
++msgstr "błędne nblocks %llu dla i-węzła %<PRIu64>, zostałoby przestawione na %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:449
++#: .././repair/dinode.c:1826
+ #, c-format
+-msgid "Skipping %s: not mounted rw\n"
+-msgstr "Pominięto %s: nie zamontowany rw\n"
++msgid "too many data fork extents (%<PRIu64>) in inode %<PRIu64>\n"
++msgstr "zbyt dużo ekstentów gałęzi danych (%<PRIu64>) w i-węźle %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:463
++#: .././repair/dinode.c:1833
+ #, c-format
+-msgid "out of memory on realloc: %s\n"
+-msgstr "brak pamięci przy realloc: %s\n"
++msgid "correcting nextents for inode %<PRIu64>, was %d - counted %<PRIu64>\n"
++msgstr "poprawiono nextents dla i-węzła %<PRIu64> - było %d, naliczono %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:474
++#: .././repair/dinode.c:1841
+ #, c-format
+-msgid "strdup(%s) failed\n"
+-msgstr "strdup(%s) nie powiodło się\n"
++msgid "bad nextents %d for inode %<PRIu64>, would reset to %<PRIu64>\n"
++msgstr "błędne nextents %d dla i-węzła %<PRIu64>, zostałoby przestawione na %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:484
++#: .././repair/dinode.c:1849
+ #, c-format
+-msgid "no rw xfs file systems in mtab: %s\n"
+-msgstr "brak w pliku mtab systemów plików xfs w trybie rw: %s\n"
++msgid "too many attr fork extents (%<PRIu64>) in inode %<PRIu64>\n"
++msgstr "zbyt dużo ekstentów gałęzi atrybutów (%<PRIu64>) w i-węźle %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:488
++#: .././repair/dinode.c:1856
+ #, c-format
+-msgid "Found %d mounted, writable, XFS filesystems\n"
+-msgstr "Liczba znalezionych zamontowanych, zapisywalnych systemów plików XFS: %d\n"
++msgid "correcting anextents for inode %<PRIu64>, was %d - counted %<PRIu64>\n"
++msgstr "poprawiono anextents dla i-węzła %<PRIu64> - było %d, naliczono %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:518
++#: .././repair/dinode.c:1863
+ #, c-format
+-msgid "%s: open failed\n"
+-msgstr "%s: open nie powiodło się\n"
++msgid "bad anextents %d for inode %<PRIu64>, would reset to %<PRIu64>\n"
++msgstr "błędne anextents %d dla i-węzła %<PRIu64>, zostałoby przestawione na %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:533
++#: .././repair/dinode.c:1875
+ #, c-format
+-msgid "Can't use %s: mode=0%o own=%d nlink=%d\n"
+-msgstr "Nie można użyć %s: mode=0%o own=%d nlink=%d\n"
++msgid "nblocks (%<PRIu64>) smaller than nextents for inode %<PRIu64>\n"
++msgstr "nblocks (%<PRIu64>) mniejsze niż nextents dla i-węzła %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:553
++#: .././repair/dinode.c:1940 .././repair/dinode.c:1978
+ #, c-format
+-msgid "could not read %s, starting with %s\n"
+-msgstr "nie można odczytać %s, rozpoczęcie z %s\n"
++msgid "unknown format %d, ino %<PRIu64> (mode = %d)\n"
++msgstr "nieznany format %d, i-węzeł %<PRIu64> (tryb = %d)\n"
+-#: .././fsr/xfs_fsr.c:590
++#: .././repair/dinode.c:1945
+ #, c-format
+-msgid "START: pass=%d ino=%llu %s %s\n"
+-msgstr "START: przebieg=%d i-węzeł=%llu %s %s\n"
++msgid "bad data fork in inode %<PRIu64>\n"
++msgstr "błędna gałąź danych w i-węźle %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:607
++#: .././repair/dinode.c:2016
+ #, c-format
+-msgid "Completed all %d passes\n"
+-msgstr "Zakończono wszystkie przebiegi w liczbie %d\n"
++msgid "bad attribute format %d in inode %<PRIu64>, "
++msgstr "błędny format atrybutów %d w i-węźle %<PRIu64>, "
+-#: .././fsr/xfs_fsr.c:617
+-msgid "couldn't fork sub process:"
+-msgstr "nie udało się uruchomić podprocesu:"
++#: .././repair/dinode.c:2019
++msgid "resetting value\n"
++msgstr "przestawiono wartość\n"
+-#: .././fsr/xfs_fsr.c:654
+-#, c-format
+-msgid "open(%s) failed: %s\n"
+-msgstr "open(%s) nie powiodło się: %s\n"
++#: .././repair/dinode.c:2023
++msgid "would reset value\n"
++msgstr "wartość zostałaby przestawiona\n"
+-#: .././fsr/xfs_fsr.c:661
++#: .././repair/dinode.c:2068
+ #, c-format
+-msgid "write(%s) failed: %s\n"
+-msgstr "write(%s) nie powiodło się: %s\n"
++msgid "bad attribute fork in inode %<PRIu64>"
++msgstr "błędna gałąź atrybutów w i-węźle %<PRIu64>"
+-#: .././fsr/xfs_fsr.c:668
+-#, c-format
+-msgid "%s startpass %d, endpass %d, time %d seconds\n"
+-msgstr "%s pocz. przebieg %d, końc. przebieg %d, czas %d sekund\n"
++#: .././repair/dinode.c:2072
++msgid ", clearing attr fork\n"
++msgstr ", wyczyszczono gałąź atrybutów\n"
+-#: .././fsr/xfs_fsr.c:690
+-#, c-format
+-msgid "%s start inode=%llu\n"
+-msgstr "%s pocz. i-węzeł=%llu\n"
++#: .././repair/dinode.c:2081
++msgid ", would clear attr fork\n"
++msgstr ", gałąź atrybutów zostałaby wyczyszczona\n"
+-#: .././fsr/xfs_fsr.c:695
++#: .././repair/dinode.c:2109
+ #, c-format
+-msgid "unable to get handle: %s: %s\n"
+-msgstr "nie udało się uzyskać uchwytu: %s: %s\n"
++msgid "illegal attribute fmt %d, ino %<PRIu64>\n"
++msgstr "niedozwolony format atrybutów %d, i-węzeł %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:701
++#: .././repair/dinode.c:2129
+ #, c-format
+-msgid "unable to open: %s: %s\n"
+-msgstr "nie udało się otworzyć: %s: %s\n"
++msgid "problem with attribute contents in inode %<PRIu64>\n"
++msgstr "problem z zawartością atrybutu w i-węźle %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:707
+-#, c-format
+-msgid "Skipping %s: could not get XFS geometry\n"
+-msgstr "Pominięto %s: nie można odczytać geometrii XFS\n"
++#: .././repair/dinode.c:2137
++msgid "would clear attr fork\n"
++msgstr "gałąź atrybutów zostałaby wyczyszczona\n"
+-#: .././fsr/xfs_fsr.c:739
++#: .././repair/dinode.c:2180
+ #, c-format
+-msgid "could not open: inode %llu\n"
+-msgstr "nie udało się otworzyć: i-węzeł %llu\n"
++msgid "version 2 inode %<PRIu64> claims > %u links, "
++msgstr "i-węzeł %<PRIu64> w wersji 2 odwołuje się do > %u dowiązań, "
+-#: .././fsr/xfs_fsr.c:769
+-#, c-format
+-msgid "%s: xfs_bulkstat: %s\n"
+-msgstr "%s: xfs_bulkstat: %s\n"
++#: .././repair/dinode.c:2184
++msgid "updating superblock version number\n"
++msgstr "uaktualniono numer wersji superbloku\n"
+-#: .././fsr/xfs_fsr.c:795
+-#, c-format
+-msgid "%s: Directory defragmentation not supported\n"
+-msgstr "%s: Defragmentacja katalogów nie jest obsługiwana\n"
++#: .././repair/dinode.c:2187
++msgid "would update superblock version number\n"
++msgstr "numer wersji superbloku zostałby uaktualniony\n"
+-#: .././fsr/xfs_fsr.c:814
++#: .././repair/dinode.c:2195
+ #, c-format
+-msgid "unable to construct sys handle for %s: %s\n"
+-msgstr "nie udało się utworzyć uchwytu systemowego dla %s: %s\n"
++msgid "WARNING:  version 2 inode %<PRIu64> claims > %u links, "
++msgstr "UWAGA: i-węzeł %<PRIu64> w wersji 2 odwołuje się do > %u dowiązań, "
+-#: .././fsr/xfs_fsr.c:825
++#: .././repair/dinode.c:2198
+ #, c-format
+-msgid "unable to open sys handle for %s: %s\n"
+-msgstr "nie udało się otworzyć uchwytu systemowego dla %s: %s\n"
++msgid ""
++"converting back to version 1,\n"
++"this may destroy %d links\n"
++msgstr ""
++"przekształcanie z powrotem do wersji 1,\n"
++"może to zniszczyć %d dowiązań\n"
+-#: .././fsr/xfs_fsr.c:831
++#: .././repair/dinode.c:2208
+ #, c-format
+-msgid "unable to get bstat on %s: %s\n"
+-msgstr "nie udało się uzyskać bstat na %s: %s\n"
++msgid ""
++"would convert back to version 1,\n"
++"\tthis might destroy %d links\n"
++msgstr ""
++"zostałby przekształcony z powrotem do wersji 1,\n"
++"\tco mogłoby zniszczyć %d dowiązań\n"
+-#: .././fsr/xfs_fsr.c:839
++#: .././repair/dinode.c:2223
+ #, c-format
+-msgid "unable to open handle %s: %s\n"
+-msgstr "nie udało się otworzyć uchwytu %s: %s\n"
++msgid "found version 2 inode %<PRIu64>, "
++msgstr "znaleziono i-węzeł %<PRIu64> w wersji 2, "
+-#: .././fsr/xfs_fsr.c:847
+-#, c-format
+-msgid "Unable to get geom on fs for: %s\n"
+-msgstr "Nie udało się odczytać geometrii systemu plików dla: %s\n"
++#: .././repair/dinode.c:2225
++msgid "converting back to version 1\n"
++msgstr "przekształcono z powrotem do wersji 1\n"
+-#: .././fsr/xfs_fsr.c:896
+-#, c-format
+-msgid "sync failed: %s: %s\n"
+-msgstr "sync nie powiodło się: %s: %s\n"
++#: .././repair/dinode.c:2231
++msgid "would convert back to version 1\n"
++msgstr "zostałby przekształcony z powrotem do wersji 1\n"
+-#: .././fsr/xfs_fsr.c:902
++#: .././repair/dinode.c:2245
+ #, c-format
+-msgid "%s: zero size, ignoring\n"
+-msgstr "%s: zerowy rozmiar, zignorowano\n"
++msgid "clearing obsolete nlink field in version 2 inode %<PRIu64>, was %d, now 0\n"
++msgstr "wyczyszczono przestarzałe pole nlink w i-węźle %<PRIu64> w wersji 2 - było %d, jest 0\n"
+-#: .././fsr/xfs_fsr.c:921
++#: .././repair/dinode.c:2251
+ #, c-format
+-msgid "locking check failed: %s\n"
+-msgstr "sprawdzenie blokowania nie powiodło się: %s\n"
++msgid "would clear obsolete nlink field in version 2 inode %<PRIu64>, currently %d\n"
++msgstr "przestarzałe pole nlink w i-węźle %<PRIu64> w wersji 2 zostałoby wyczyszczone, aktualnie %d\n"
+-#: .././fsr/xfs_fsr.c:928
++#: .././repair/dinode.c:2320
+ #, c-format
+-msgid "mandatory lock: %s: ignoring\n"
+-msgstr "obowiązkowa blokada: %s: zignorowano\n"
++msgid "bad magic number 0x%x on inode %<PRIu64>%c"
++msgstr "błędna liczba magiczna 0x%x w i-węźle %<PRIu64>%c"
+-#: .././fsr/xfs_fsr.c:941
+-#, c-format
+-msgid "unable to get fs stat on %s: %s\n"
+-msgstr "nie udało się uzyskać stat fs na %s: %s\n"
++#: .././repair/dinode.c:2325
++msgid " resetting magic number\n"
++msgstr " przestawiono liczbę magiczną\n"
+-#: .././fsr/xfs_fsr.c:948
+-#, c-format
+-msgid "insufficient freespace for: %s: size=%lld: ignoring\n"
+-msgstr "niewystarczająca ilość miejsca dla: %s: rozmiar=%lld: zignorowano\n"
++#: .././repair/dinode.c:2329
++msgid " would reset magic number\n"
++msgstr " liczba magiczna zostałaby przestawiona\n"
+-#: .././fsr/xfs_fsr.c:955
++#: .././repair/dinode.c:2338
+ #, c-format
+-msgid "failed to get inode attrs: %s\n"
+-msgstr "nie udało się uzyskać atrybutów i-węzła: %s\n"
++msgid "bad version number 0x%x on inode %<PRIu64>%c"
++msgstr "błędny numer wersji 0x%x w i-węźle %<PRIu64>%c"
+-#: .././fsr/xfs_fsr.c:960
+-#, c-format
+-msgid "%s: immutable/append, ignoring\n"
+-msgstr "%s: niezmienny/tylko do dołączania, zignorowano\n"
++#: .././repair/dinode.c:2343
++msgid " resetting version number\n"
++msgstr " przestawiono numer wersji\n"
++
++#: .././repair/dinode.c:2349
++msgid " would reset version number\n"
++msgstr " numer wersji zostałby przestawiony\n"
+-#: .././fsr/xfs_fsr.c:965
++#: .././repair/dinode.c:2362
+ #, c-format
+-msgid "%s: marked as don't defrag, ignoring\n"
+-msgstr "%s: oznaczony jako nie do defragmentacji, zignorowano\n"
++msgid "inode identifier %llu mismatch on inode %<PRIu64>\n"
++msgstr "niezgodność identyfikatora i-węzła %llu dla i-węzła %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:971
++#: .././repair/dinode.c:2371
+ #, c-format
+-msgid "cannot get realtime geometry for: %s\n"
+-msgstr "nie można uzyskać geometrii realtime dla: %s\n"
++msgid "UUID mismatch on inode %<PRIu64>\n"
++msgstr "niezgodność UUID-a dla i-węzła %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:976
++#: .././repair/dinode.c:2384
+ #, c-format
+-msgid "low on realtime free space: %s: ignoring file\n"
+-msgstr "mało wolnego miejsca realtime: %s: plik zignorowany\n"
++msgid "bad (negative) size %<PRId64> on inode %<PRIu64>\n"
++msgstr "błędny (ujemny) rozmiar %<PRId64> w i-węźle %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:983
++#: .././repair/dinode.c:2417
+ #, c-format
+-msgid "cannot open: %s: Permission denied\n"
+-msgstr "nie można otworzyć: %s: brak uprawnień\n"
++msgid "imap claims a free inode %<PRIu64> is in use, "
++msgstr "imap odwołuje się do wolnego bloku %<PRIu64>, który jest w użyciu, "
+-#: .././fsr/xfs_fsr.c:1040 .././fsr/xfs_fsr.c:1085 .././fsr/xfs_fsr.c:1131
+-msgid "could not set ATTR\n"
+-msgstr "nie udało się ustawić ATTR\n"
++#: .././repair/dinode.c:2419
++msgid "correcting imap and clearing inode\n"
++msgstr "poprawiono imap i wyczyszczono i-węzeł\n"
+-#: .././fsr/xfs_fsr.c:1049
+-#, c-format
+-msgid "unable to stat temp file: %s\n"
+-msgstr "nie udało się wykonać stat na pliku tymczasowym: %s\n"
++#: .././repair/dinode.c:2423
++msgid "would correct imap and clear inode\n"
++msgstr "poprawiono by imap i wyczyszczono by i-węzeł\n"
+-#: .././fsr/xfs_fsr.c:1068
++#: .././repair/dinode.c:2440
+ #, c-format
+-msgid "unable to get bstat on temp file: %s\n"
+-msgstr "nie udało się uzyskać bstat pliku tymczasowego: %s\n"
++msgid "bad inode format in inode %<PRIu64>\n"
++msgstr "błędny format i-węzła w i-węźle %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1073
++#: .././repair/dinode.c:2456
+ #, c-format
+-msgid "orig forkoff %d, temp forkoff %d\n"
+-msgstr "orig forkoff %d, temp forkoff %d\n"
++msgid "Bad flags set in inode %<PRIu64>\n"
++msgstr "Błędne flagi ustawione w i-węźle %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1105
++#: .././repair/dinode.c:2467
+ #, c-format
+-msgid "forkoff diff %d too large!\n"
+-msgstr "różnica forkoff %d zbyt duża!\n"
+-
+-#: .././fsr/xfs_fsr.c:1139
+-msgid "set temp attr\n"
+-msgstr "ustawianie atrybutów pliku tymczasowego\n"
++msgid "inode %<PRIu64> has RT flag set but there is no RT device\n"
++msgstr "i-węzeł %<PRIu64> ma ustawioną flagę RT, ale nie ma urządzenia RT\n"
+-#: .././fsr/xfs_fsr.c:1178
++#: .././repair/dinode.c:2479
+ #, c-format
+-msgid "%s already fully defragmented.\n"
+-msgstr "%s jest już całkowicie zdefragmentowany.\n"
++msgid "inode %<PRIu64> not rt bitmap\n"
++msgstr "i-węzeł %<PRIu64> nie jest bitmapą rt\n"
+-#: .././fsr/xfs_fsr.c:1183
++#: .././repair/dinode.c:2493
+ #, c-format
+-msgid "%s extents=%d can_save=%d tmp=%s\n"
+-msgstr "%s extents=%d can_save=%d tmp=%s\n"
++msgid "directory flags set on non-directory inode %<PRIu64>\n"
++msgstr "flagi katalogu ustawione dla nie będącego katalogiem i-węzła %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1189
++#: .././repair/dinode.c:2507
+ #, c-format
+-msgid "could not open tmp file: %s: %s\n"
+-msgstr "nie udało się otworzyć pliku tymczasowego: %s: %s\n"
++msgid "file flags set on non-file inode %<PRIu64>\n"
++msgstr "flagi pliku ustawione dla nie będącego plikiem i-węzła %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1197
+-#, c-format
+-msgid "failed to set ATTR fork on tmp: %s:\n"
+-msgstr "nie udało się ustawić odgałęzienia ATTR na tmp: %s\n"
++#: .././repair/dinode.c:2516
++msgid ", fixing bad flags.\n"
++msgstr ", poprawiono błędne flagi.\n"
+-#: .././fsr/xfs_fsr.c:1205
+-#, c-format
+-msgid "could not set inode attrs on tmp: %s\n"
+-msgstr "nie udało się ustawić atrybutów i-węzła na tmp: %s\n"
++#: .././repair/dinode.c:2520
++msgid ", would fix bad flags.\n"
++msgstr ", poprawionoby błędne flagi.\n"
+-#: .././fsr/xfs_fsr.c:1213
++#: .././repair/dinode.c:2571
+ #, c-format
+-msgid "could not get DirectIO info on tmp: %s\n"
+-msgstr "nie udało się uzyskać informacji o bezpośrednim we/wy na tmp: %s\n"
++msgid "bad inode type %#o inode %<PRIu64>\n"
++msgstr "błędny typ i-węzła %#o w i-węźle %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1229
++#: .././repair/dinode.c:2595
+ #, c-format
+-msgid "DEBUG: fsize=%lld blsz_dio=%d d_min=%d d_max=%d pgsz=%d\n"
+-msgstr "DEBUG: fsize=%lld blsz_dio=%d d_min=%d d_max=%d pgsz=%d\n"
++msgid "bad non-zero extent size %u for non-realtime/extsize inode %<PRIu64>, "
++msgstr "błędny niezerowy rozmiar ekstentu %u dla extsize i-węzła nie-realtime %<PRIu64>, "
+-#: .././fsr/xfs_fsr.c:1236
++#: .././repair/dinode.c:2598
++msgid "resetting to zero\n"
++msgstr "przestawiono na zero\n"
++
++#: .././repair/dinode.c:2602
++msgid "would reset to zero\n"
++msgstr "zostałby przestawiony na zero\n"
++
++#: .././repair/dinode.c:2655
+ #, c-format
+-msgid "could not allocate buf: %s\n"
+-msgstr "nie udało się przydzielić bufora: %s\n"
++msgid "problem with directory contents in inode %<PRIu64>\n"
++msgstr "problem z zawartością katalogu w i-węźle %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1247
++#: .././repair/dinode.c:2663
+ #, c-format
+-msgid "could not open fragfile: %s : %s\n"
+-msgstr "nie udało się otworzyć pliku frag: %s: %s\n"
++msgid "problem with symbolic link in inode %<PRIu64>\n"
++msgstr "problem z dowiązaniem symbolicznym w i-węźle %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1264
++#: .././repair/dinode.c:2758
+ #, c-format
+-msgid "could not trunc tmp %s\n"
+-msgstr "nie udało się uciąć tmp %s\n"
++msgid "processing inode %d/%d\n"
++msgstr "analiza i-węzła %d/%d\n"
+-#: .././fsr/xfs_fsr.c:1279
++#: .././repair/dir2.c:56
+ #, c-format
+-msgid "could not pre-allocate tmp space: %s\n"
+-msgstr "nie udało się wstępnie przydzielić miejsca tmp: %s\n"
++msgid "malloc failed (%zu bytes) dir2_add_badlist:ino %<PRIu64>\n"
++msgstr "malloc nie powiodło się (%zu bajtów) w dir2_add_badlist:ino %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1290
+-msgid "Couldn't rewind on temporary file\n"
+-msgstr "Nie udało się przewinąć pliku tymczasowego\n"
++#: .././repair/dir2.c:118 .././repair/prefetch.c:238
++msgid "couldn't malloc dir2 buffer list\n"
++msgstr "nie można przydzielić listy bufora dir2\n"
+-#: .././fsr/xfs_fsr.c:1299
++#: .././repair/dir2.c:181 .././repair/dir2.c:548 .././repair/dir2.c:1598
+ #, c-format
+-msgid "Temporary file has %d extents (%d in original)\n"
+-msgstr "Plik tymczasowy ma ekstentów: %d (%d w oryginale)\n"
++msgid "can't read block %u for directory inode %<PRIu64>\n"
++msgstr "nie można odczytać bloku %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1302
++#: .././repair/dir2.c:193
+ #, c-format
+-msgid "No improvement will be made (skipping): %s\n"
+-msgstr "Nie nastąpi poprawa (pominięto): %s\n"
++msgid "found non-root LEAFN node in inode %<PRIu64> bno = %u\n"
++msgstr "znaleziono niegłówny węzeł LEAFN w i-węźle %<PRIu64> bno = %u\n"
+-#: .././fsr/xfs_fsr.c:1346
++#: .././repair/dir2.c:203
+ #, c-format
+-msgid "bad read of %d bytes from %s: %s\n"
+-msgstr "błędny odczyt %d bajtów z %s: %s\n"
++msgid "bad dir magic number 0x%x in inode %<PRIu64> bno = %u\n"
++msgstr "błędna liczba magiczna katalogu 0x%x w i-węźle %<PRIu64> bno = %u\n"
+-#: .././fsr/xfs_fsr.c:1350 .././fsr/xfs_fsr.c:1384
++#: .././repair/dir2.c:225
+ #, c-format
+-msgid "bad write of %d bytes to %s: %s\n"
+-msgstr "błędny zapis %d bajtów do %s: %s\n"
++msgid "bad header depth for directory inode %<PRIu64>\n"
++msgstr "błędna głębokość nagłówka dla i-węzła katalogu %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1367
++#: .././repair/dir2.c:285
+ #, c-format
+-msgid "bad write2 of %d bytes to %s: %s\n"
+-msgstr "błędny zapis 2 %d bajtów do %s: %s\n"
++msgid "release_dir2_cursor_int got unexpected non-null bp, dabno = %u\n"
++msgstr "release_dir2_cursor_int otrzymał nieoczekiwany niezerowy bp, dabno = %u\n"
+-#: .././fsr/xfs_fsr.c:1372
++#: .././repair/dir2.c:352
+ #, c-format
+-msgid "bad copy to %s\n"
+-msgstr "błędna kopia do %s\n"
++msgid "directory block used/count inconsistency - %d / %hu\n"
++msgstr "niespójność wartości used/count bloku katalogu - %d / %hu\n"
+-#: .././fsr/xfs_fsr.c:1407
++#: .././repair/dir2.c:374
+ #, c-format
+-msgid "failed to fchown tmpfile %s: %s\n"
+-msgstr "nie udało się wykonać fchown na pliku tymczasowym %s: %s\n"
++msgid "bad directory block in inode %<PRIu64>\n"
++msgstr "błędny blok katalogu w i-węźle %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1418
++#: .././repair/dir2.c:394
+ #, c-format
+-msgid "%s: file type not supported\n"
+-msgstr "%s: tym pliku nie obsługiwany\n"
++msgid ""
++"correcting bad hashval in non-leaf dir block\n"
++"\tin (level %d) in inode %<PRIu64>.\n"
++msgstr ""
++"poprawiono błędne hashval w bloku katalogu nie będącego liściem\n"
++"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
+-#: .././fsr/xfs_fsr.c:1422
++#: .././repair/dir2.c:402
+ #, c-format
+-msgid "%s: file modified defrag aborted\n"
+-msgstr "%s: plik zmodyfikowany, defragmentacja przerwana\n"
++msgid ""
++"would correct bad hashval in non-leaf dir block\n"
++"\tin (level %d) in inode %<PRIu64>.\n"
++msgstr ""
++"błędne hashval w bloku katalogu nie będącego liściem zostałoby poprawione\n"
++"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
+-#: .././fsr/xfs_fsr.c:1427
++#: .././repair/dir2.c:564
+ #, c-format
+-msgid "%s: file busy\n"
+-msgstr "%s: plik zajęty\n"
++msgid "bad magic number %x in block %u for directory inode %<PRIu64>\n"
++msgstr "błędna liczba magiczna %x w bloku %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1429
++#: .././repair/dir2.c:571
+ #, c-format
+-msgid "XFS_IOC_SWAPEXT failed: %s: %s\n"
+-msgstr "XFS_IOC_SWAPEXT nie powiodło się: %s: %s\n"
++msgid "bad back pointer in block %u for directory inode %<PRIu64>\n"
++msgstr "błędny wskaźnik wstecz w bloku %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1438
++#: .././repair/dir2.c:577
+ #, c-format
+-msgid "extents before:%d after:%d %s %s\n"
+-msgstr "ekstentów przed: %d po: %d %s %s\n"
++msgid "entry count %d too large in block %u for directory inode %<PRIu64>\n"
++msgstr "liczba wpisów %d zbyt duża w bloku %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1464
++#: .././repair/dir2.c:584
+ #, c-format
+-msgid "tmp file name too long: %s\n"
+-msgstr "nazwa pliku tymczasowego zbyt długa: %s\n"
++msgid "bad level %d in block %u for directory inode %<PRIu64>\n"
++msgstr "błędny poziom %d w bloku %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1513
++#: .././repair/dir2.c:625
+ #, c-format
+-msgid "realloc failed: %s\n"
+-msgstr "realloc nie powiodło się: %s\n"
++msgid ""
++"correcting bad hashval in interior dir block\n"
++"\tin (level %d) in inode %<PRIu64>.\n"
++msgstr ""
++"poprawiono błędne hashval w wewnętrznym bloku katalogu\n"
++"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
+-#: .././fsr/xfs_fsr.c:1526
++#: .././repair/dir2.c:633
+ #, c-format
+-msgid "malloc failed: %s\n"
+-msgstr "malloc nie powiodło się: %s\n"
++msgid ""
++"would correct bad hashval in interior dir block\n"
++"\tin (level %d) in inode %<PRIu64>.\n"
++msgstr ""
++"błędne hashval w wewnętrznym bloku katalogu zostałoby poprawione\n"
++"\tw i-węźle (poziomu %d) %<PRIu64>.\n"
+-#: .././fsr/xfs_fsr.c:1556
+-#, c-format
+-msgid "failed reading extents: inode %llu"
+-msgstr "nie udało się odczytać ekstentów: i-węzeł %llu"
++#: .././repair/dir2.c:668
++msgid "couldn't malloc dir2 shortform copy\n"
++msgstr "nie udało się przydzielić krótkiej kopii dir2\n"
+-#: .././fsr/xfs_fsr.c:1606
+-msgid "failed reading extents"
+-msgstr "nie udało się odczytać ekstentów"
++#: .././repair/dir2.c:804
++msgid "current"
++msgstr "bieżącego i-węzła"
++
++#: .././repair/dir2.c:807 .././repair/dir2.c:1329
++msgid "invalid"
++msgstr "nieprawidłowego i-węzła"
++
++#: .././repair/dir2.c:810 .././repair/dir2.c:1331
++msgid "realtime bitmap"
++msgstr "i-węzła bitmapy realtime"
++
++#: .././repair/dir2.c:813 .././repair/dir2.c:1333
++msgid "realtime summary"
++msgstr "i-węzła opisu realtime"
++
++#: .././repair/dir2.c:816 .././repair/dir2.c:1335
++msgid "user quota"
++msgstr "i-węzła limitów użytkownika"
+-#: .././fsr/xfs_fsr.c:1694 .././fsr/xfs_fsr.c:1708
++#: .././repair/dir2.c:819 .././repair/dir2.c:1337
++msgid "group quota"
++msgstr "i-węzła limitów grupy"
++
++#: .././repair/dir2.c:822 .././repair/dir2.c:1339
++msgid "project quota"
++msgstr "i-węzła limitów projektu"
++
++#: .././repair/dir2.c:840 .././repair/dir2.c:1369
++msgid "free"
++msgstr "free"
++
++#: .././repair/dir2.c:857 .././repair/dir2.c:1349
++msgid "non-existent"
++msgstr "nie istniejącego i-węzła"
++
++#: .././repair/dir2.c:862
+ #, c-format
+-msgid "tmpdir already exists: %s\n"
+-msgstr "katalog tymczasowy już istnieje: %s\n"
++msgid "entry \"%*.*s\" in shortform directory %<PRIu64> references %s inode %<PRIu64>\n"
++msgstr "wpis \"%*.*s\" w krótkim katalogu %<PRIu64> odwołuje się do %s %<PRIu64>\n"
+-#: .././fsr/xfs_fsr.c:1697
++#: .././repair/dir2.c:882
+ #, c-format
+-msgid "could not create tmpdir: %s: %s\n"
+-msgstr "nie udało się utworzyć katalogu tymczasowego: %s: %s\n"
++msgid "zero length entry in shortform dir %<PRIu64>, resetting to %d\n"
++msgstr "wpis zerowej długości w krótkim katalogu %<PRIu64>, przestawiono na %d\n"
+-#: .././fsr/xfs_fsr.c:1710
++#: .././repair/dir2.c:887
+ #, c-format
+-msgid "cannot create tmpdir: %s: %s\n"
+-msgstr "nie można utworzyć katalogu tymczasowego: %s: %s\n"
++msgid "zero length entry in shortform dir %<PRIu64>, would set to %d\n"
++msgstr "wpis zerowej długości w krótkim katalogu %<PRIu64>, zostałby przestawiony na %d\n"
+-#: .././fsr/xfs_fsr.c:1748 .././fsr/xfs_fsr.c:1756
++#: .././repair/dir2.c:892
+ #, c-format
+-msgid "could not remove tmpdir: %s: %s\n"
+-msgstr "nie udało się usunąć katalogu tymczasowego: %s: %s\n"
++msgid "zero length entry in shortform dir %<PRIu64>"
++msgstr "wpis zerowej długości w krótkim katalogu %<PRIu64>"
+-#: .././estimate/xfs_estimate.c:76
++#: .././repair/dir2.c:895
+ #, c-format
+-msgid ""
+-"Usage: %s [opts] directory [directory ...]\n"
+-"\t-b blocksize (fundamental filesystem blocksize)\n"
+-"\t-i logsize (internal log size)\n"
+-"\t-e logsize (external log size)\n"
+-"\t-v prints more verbose messages\n"
+-"\t-h prints this usage message\n"
+-"\n"
+-"Note:\tblocksize may have 'k' appended to indicate x1024\n"
+-"\tlogsize may also have 'm' appended to indicate (1024 x 1024)\n"
+-msgstr ""
+-"Składnia: %s [opcje] katalog [katalog ...]\n"
+-"\t-b rozmiar_bloku (rozmiar bloku zasadniczego systemu plików)\n"
+-"\t-i rozmiar_logu (rozmiar logu wewnętrznego)\n"
+-"\t-e rozmiar_logu (rozmiar logu zewnętrznego)\n"
+-"\t-v wypisywanie bardziej szczegółowych komunikatów\n"
+-"\t-h wypisanie tej informacji o sposobie użycia\n"
+-"\n"
++msgid ", junking %d entries\n"
++msgstr ", wyrzucono %d wpisów\n"
+-#: .././estimate/xfs_estimate.c:106
++#: .././repair/dir2.c:898
+ #, c-format
+-msgid "blocksize %llu too small\n"
+-msgstr "rozmiar bloku %llu jest zbyt mały\n"
++msgid ", would junk %d entries\n"
++msgstr ", %d wpisów zostałoby wyrzucone\n"
+-#: .././estimate/xfs_estimate.c:111
++#: .././repair/dir2.c:916
+ #, c-format
+-msgid "blocksize %llu too large\n"
+-msgstr "rozmiar bloku %llu jest zbyt duży\n"
++msgid "size of last entry overflows space left in in shortform dir %<PRIu64>, "
++msgstr "rozmiar ostatniego wpisu przekracza miejsce pozostałe w krótkim katalogu %<PRIu64>, "
+-#: .././estimate/xfs_estimate.c:118
++#: .././repair/dir2.c:919
+ #, c-format
+-msgid "already have external log noted, can't have both\n"
+-msgstr "już jest przypisany zewnętrzny log, nie mogą istnieć oba\n"
++msgid "resetting to %d\n"
++msgstr "przestawiono na %d\n"
+-#: .././estimate/xfs_estimate.c:127
++#: .././repair/dir2.c:924
+ #, c-format
+-msgid "already have internal log noted, can't have both\n"
+-msgstr "już jest przypisany wewnętrzny log, nie mogą istnieć oba\n"
++msgid "would reset to %d\n"
++msgstr "zostałby przestawiony na %d\n"
+-#: .././estimate/xfs_estimate.c:157
++#: .././repair/dir2.c:929
+ #, c-format
+-msgid "directory                               bsize   blocks    megabytes    logsize\n"
+-msgstr "katalog                                 rozmb   bloków    megabajtów  rozm.logu\n"
++msgid "size of entry #%d overflows space left in in shortform dir %<PRIu64>\n"
++msgstr "rozmiar wpisu #%d przekracza miejsce pozostałe w krótkim katalogu %<PRIu64>\n"
+-#: .././estimate/xfs_estimate.c:171
++#: .././repair/dir2.c:934
+ #, c-format
+-msgid "dirsize=%llu\n"
+-msgstr "dirsize=%llu\n"
++msgid "junking entry #%d\n"
++msgstr "wyrzucono wpis #%d\n"
+-#: .././estimate/xfs_estimate.c:172
++#: .././repair/dir2.c:938
+ #, c-format
+-msgid "fullblocks=%llu\n"
+-msgstr "fullblocks=%llu\n"
++msgid "junking %d entries\n"
++msgstr "wyrzucono %d wpisów\n"
+-#: .././estimate/xfs_estimate.c:173
++#: .././repair/dir2.c:943
+ #, c-format
+-msgid "isize=%llu\n"
+-msgstr "isize=%llu\n"
++msgid "would junk entry #%d\n"
++msgstr "wpis #%d zostałby wyrzucony\n"
+-#: .././estimate/xfs_estimate.c:175
++#: .././repair/dir2.c:947
+ #, c-format
+-msgid "%llu regular files\n"
+-msgstr "%llu plików zwykłych\n"
++msgid "would junk %d entries\n"
++msgstr "%d wpisów zostałoby wyrzuconych\n"
+-#: .././estimate/xfs_estimate.c:176
++#: .././repair/dir2.c:966
+ #, c-format
+-msgid "%llu symbolic links\n"
+-msgstr "%llu dowiązań symbolicznych\n"
++msgid "entry contains illegal character in shortform dir %<PRIu64>\n"
++msgstr "wpis zawiera niedozwolony znak w krótkim katalogu %<PRIu64>\n"
+-#: .././estimate/xfs_estimate.c:177
++#: .././repair/dir2.c:973
+ #, c-format
+-msgid "%llu directories\n"
+-msgstr "%llu katalogów\n"
++msgid "entry contains offset out of order in shortform dir %<PRIu64>\n"
++msgstr "wpis zawiera uszkodzony offset w krótkim katalogu %<PRIu64>\n"
+-#: .././estimate/xfs_estimate.c:178
++#: .././repair/dir2.c:1030
+ #, c-format
+-msgid "%llu special files\n"
+-msgstr "%llu plików specjalnych\n"
++msgid "junking entry \"%s\" in directory inode %<PRIu64>\n"
++msgstr "wyrzucono wpis \"%s\" w i-węźle katalogu %<PRIu64>\n"
+-#: .././estimate/xfs_estimate.c:191
++#: .././repair/dir2.c:1034
+ #, c-format
+-msgid "%s will take about %.1f megabytes\n"
+-msgstr "%s zajmie około %.1f megabajtów\n"
++msgid "would have junked entry \"%s\" in directory inode %<PRIu64>\n"
++msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> zostałby wyrzucony\n"
+-#: .././estimate/xfs_estimate.c:198
++#: .././repair/dir2.c:1059
+ #, c-format
+-msgid "%-39s %5llu %8llu %10.1fMB %10llu\n"
+-msgstr "%-39s %5llu %8llu %10.1fMB %10llu\n"
++msgid "would have corrected entry count in directory %<PRIu64> from %d to %d\n"
++msgstr "liczba wpisów w katalogu %<PRIu64> zostałaby poprawiona z %d na %d\n"
+-#: .././estimate/xfs_estimate.c:204
++#: .././repair/dir2.c:1063
+ #, c-format
+-msgid "\twith the external log using %llu blocks "
+-msgstr "\tz zewnętrznym logiem zajmującym %llu bloków "
++msgid "corrected entry count in directory %<PRIu64>, was %d, now %d\n"
++msgstr "poprawiono liczbę wpisów w katalogu %<PRIu64> - było %d, jest %d\n"
+-#: .././estimate/xfs_estimate.c:206
++#: .././repair/dir2.c:1074
+ #, c-format
+-msgid "or about %.1f megabytes\n"
+-msgstr "lub około %.1f megabajtów\n"
++msgid "would have corrected i8 count in directory %<PRIu64> from %d to %d\n"
++msgstr "liczba i8 zostałaby poprawiona w katalogu %<PRIu64> z %d na %d\n"
+-#: .././db/convert.c:171
++#: .././repair/dir2.c:1078
+ #, c-format
+-msgid "bad argument count %d to convert, expected 3,5,7,9 arguments\n"
+-msgstr "błędna liczba argumentów %d do konwersji, oczekiwano 3,5,7,9 argumentów\n"
++msgid "corrected i8 count in directory %<PRIu64>, was %d, now %d\n"
++msgstr "poprawiono liczbę i8 w katalogu %<PRIu64> - było %d, jest %d\n"
+-#: .././db/convert.c:176 .././db/convert.c:183
++#: .././repair/dir2.c:1092
+ #, c-format
+-msgid "unknown conversion type %s\n"
+-msgstr "nieznany rodzaj konwersji %s\n"
++msgid "would have corrected directory %<PRIu64> size from %<PRId64> to %<PRIdPTR>\n"
++msgstr "rozmiar katalogu %<PRIu64> zostałby poprawiony z %<PRId64> na %<PRIdPTR>\n"
+-#: .././db/convert.c:187
+-msgid "result type same as argument\n"
+-msgstr "typ wyniku taki sam jak argument\n"
++#: .././repair/dir2.c:1097
++#, c-format
++msgid "corrected directory %<PRIu64> size, was %<PRId64>, now %<PRIdPTR>\n"
++msgstr "poprawiono rozmiar katalogu %<PRIu64> - było %<PRId64>, jest %<PRIdPTR>\n"
+-#: .././db/convert.c:191
++#: .././repair/dir2.c:1109
+ #, c-format
+-msgid "conflicting conversion type %s\n"
+-msgstr "konflikt typu konwersji %s\n"
++msgid "directory %<PRIu64> offsets too high\n"
++msgstr "offsety zbyt duże w katalogu %<PRIu64>\n"
+-#: .././db/convert.c:270
++#: .././repair/dir2.c:1115
+ #, c-format
+-msgid "%s is not a number\n"
+-msgstr "%s nie jest liczbą\n"
++msgid "would have corrected entry offsets in directory %<PRIu64>\n"
++msgstr "offsety wpisów w katalogu %<PRIu64> zostałyby poprawione\n"
+-#: .././db/check.c:372
+-msgid "free block usage information"
+-msgstr "informacje o wykorzystaniu wolnych bloków"
++#: .././repair/dir2.c:1119
++#, c-format
++msgid "corrected entry offsets in directory %<PRIu64>\n"
++msgstr "poprawiono offsety wpisów w katalogu %<PRIu64>\n"
+-#: .././db/check.c:375
+-msgid "[-s|-v] [-n] [-t] [-b bno]... [-i ino] ..."
+-msgstr "[-s|-v] [-n] [-t] [-b bno]... [-i ino] ..."
++#: .././repair/dir2.c:1138
++#, c-format
++msgid "bogus .. inode number (%<PRIu64>) in directory inode %<PRIu64>, "
++msgstr "błędny numer i-węzła .. (%<PRIu64>) w i-węźle katalogu %<PRIu64>, "
+-#: .././db/check.c:376
+-msgid "get block usage and check consistency"
+-msgstr "uzyskanie informacji o wykorzystaniu bloków i sprawdzenie spójności"
++#: .././repair/dir2.c:1142 .././repair/dir2.c:1177
++msgid "clearing inode number\n"
++msgstr "wyczyszczono numer i-węzła\n"
+-#: .././db/check.c:379
+-msgid "[-n count] [-x minlen] [-y maxlen] [-s seed] [-0123] [-t type] ..."
+-msgstr "[-n liczba] [-x minlen] [-y maxlen] [-s seed] [-0123] [-t typ] ..."
++#: .././repair/dir2.c:1148 .././repair/dir2.c:1183
++msgid "would clear inode number\n"
++msgstr "numer i-węzła zostałby wyczyszczony\n"
+-#: .././db/check.c:380
+-msgid "trash randomly selected block(s)"
+-msgstr "zaśmiecenie losowo wybranych bloków"
++#: .././repair/dir2.c:1156
++#, c-format
++msgid "corrected root directory %<PRIu64> .. entry, was %<PRIu64>, now %<PRIu64>\n"
++msgstr "poprawiono wpis .. głównego katalogu %<PRIu64> - było %<PRIu64>, jest %<PRIu64>\n"
+-#: .././db/check.c:383
+-msgid "[-n] [-c blockcount]"
+-msgstr "[-n] [-c liczba-bloków]"
++#: .././repair/dir2.c:1164
++#, c-format
++msgid "would have corrected root directory %<PRIu64> .. entry from %<PRIu64> to %<PRIu64>\n"
++msgstr "wpis .. głównego katalogu %<PRIu64> zostałby poprawiony z %<PRIu64> na %<PRIu64>\n"
+-#: .././db/check.c:384
+-msgid "print usage for current block(s)"
+-msgstr "wypisanie wykorzystania bieżących bloków"
++#: .././repair/dir2.c:1174
++#, c-format
++msgid "bad .. entry in directory inode %<PRIu64>, points to self, "
++msgstr "błędny wpis .. w i-węźle katalogu %<PRIu64>, wskazuje na siebie, "
+-#: .././db/check.c:387
+-msgid "[-s] [-i ino] ..."
+-msgstr "[-s] [-i ino] ..."
++#: .././repair/dir2.c:1287
++#, c-format
++msgid "corrupt block %u in directory inode %<PRIu64>\n"
++msgstr "uszkodzony blok %u w i-węźle katalogu %<PRIu64>\n"
+-#: .././db/check.c:388
+-msgid "print inode-name pairs"
+-msgstr "wypisanie par i-węzeł - nazwa"
++#: .././repair/dir2.c:1290
++msgid "\twill junk block\n"
++msgstr "\tblok zostanie wyrzucony\n"
+-#: .././db/check.c:408
+-#, c-format
+-msgid "-i %lld bad inode number\n"
+-msgstr "-i %lld - błędny numer i-węzła\n"
++#: .././repair/dir2.c:1292
++msgid "\twould junk block\n"
++msgstr "\tblok zostałby wyrzucony\n"
+-#: .././db/check.c:420
++#: .././repair/dir2.c:1378
+ #, c-format
+-msgid "inode %lld add link, now %u\n"
+-msgstr "i-węzeł %lld - dodano dowiązanie, teraz %u\n"
++msgid "entry \"%*.*s\" at block %d offset %<PRIdPTR> in directory inode %<PRIu64> references %s inode %<PRIu64>\n"
++msgstr "wpis \"%*.*s\" w bloku %d offsecie %<PRIdPTR> w i-węźle katalogu %<PRIu64> odwołuje się do %s %<PRIu64>\n"
+-#: .././db/check.c:447
++#: .././repair/dir2.c:1389
+ #, c-format
+-msgid "inode %lld parent %lld\n"
+-msgstr "i-węzeł %lld - rodzic %lld\n"
+-
+-#: .././db/check.c:760
+-msgid "block usage information not allocated\n"
+-msgstr "informacja o wykorzystaniu bloków nie przydzielona\n"
+-
+-#: .././db/check.c:798
+-msgid "already have block usage information\n"
+-msgstr "już istnieje informacja o wykorzystaniu bloków\n"
+-
+-#: .././db/check.c:814 .././db/check.c:922
+-msgid "WARNING: this may be a newer XFS filesystem.\n"
+-msgstr "UWAGA: to może być nowszy system plików XFS.\n"
++msgid "entry at block %u offset %<PRIdPTR> in directory inode %<PRIu64>has 0 namelength\n"
++msgstr "wpis w bloku %u offsecie %<PRIdPTR> w i-węźle katalogu %<PRIu64> ma zerową długość nazwy\n"
+-#: .././db/check.c:850
++#: .././repair/dir2.c:1402
+ #, c-format
+-msgid "sb_icount %lld, counted %lld\n"
+-msgstr "sb_icount %lld, naliczono %lld\n"
++msgid "\tclearing inode number in entry at offset %<PRIdPTR>...\n"
++msgstr "\twyczyszczono numer i-węzła we wpisie o offsecie %<PRIdPTR>...\n"
+-#: .././db/check.c:856
++#: .././repair/dir2.c:1409
+ #, c-format
+-msgid "sb_ifree %lld, counted %lld\n"
+-msgstr "sb_ifree %lld, naliczono %lld\n"
++msgid "\twould clear inode number in entry at offset %<PRIdPTR>...\n"
++msgstr "\tnumer i-węzła we wpisie o offsecie %<PRIdPTR> zostałby wyczyszczony...\n"
+-#: .././db/check.c:862
++#: .././repair/dir2.c:1422
+ #, c-format
+-msgid "sb_fdblocks %lld, counted %lld\n"
+-msgstr "sb_fdblocks %lld, naliczono %lld\n"
++msgid "entry at block %u offset %<PRIdPTR> in directory inode %<PRIu64> has illegal name \"%*.*s\": "
++msgstr "wpis w bloku %u offsecie %<PRIdPTR> w i-węźle katalogu %<PRIu64> ma niedozwoloną nazwę \"%*.*s\": "
+-#: .././db/check.c:868
++#: .././repair/dir2.c:1452
+ #, c-format
+-msgid "sb_fdblocks %lld, aggregate AGF count %lld\n"
+-msgstr "sb_fdblocks %lld, łączny licznik AGF %lld\n"
++msgid "bad .. entry in directory inode %<PRIu64>, points to self: "
++msgstr "błędny wpis .. w i-węźle katalogu %<PRIu64>, wskazuje na siebie: "
+-#: .././db/check.c:874
++#: .././repair/dir2.c:1463
+ #, c-format
+-msgid "sb_frextents %lld, counted %lld\n"
+-msgstr "sb_frextents %lld, naliczono %lld\n"
++msgid "bad .. entry in root directory inode %<PRIu64>, was %<PRIu64>: "
++msgstr "błędny wpis w i-węźle głównego katalogu %<PRIu64>, było %<PRIu64>: "
+-#: .././db/check.c:881
+-#, c-format
+-msgid "sb_features2 (0x%x) not same as sb_bad_features2 (0x%x)\n"
+-msgstr "sb_features2 (0x%x) różni się od sb_bad_features2 (0x%x)\n"
++#: .././repair/dir2.c:1466 .././repair/dir2.c:1498 .././repair/phase2.c:184
++#: .././repair/phase2.c:193 .././repair/phase2.c:202
++msgid "correcting\n"
++msgstr "poprawiono\n"
+-#: .././db/check.c:890
+-#, c-format
+-msgid "sb versionnum missing attr bit %x\n"
+-msgstr "sb versionnum - brak bitu atrybutu %x\n"
++#: .././repair/dir2.c:1470 .././repair/dir2.c:1502 .././repair/phase2.c:186
++#: .././repair/phase2.c:195 .././repair/phase2.c:204
++msgid "would correct\n"
++msgstr "zostałby poprawiony\n"
+-#: .././db/check.c:897
++#: .././repair/dir2.c:1482
+ #, c-format
+-msgid "sb versionnum missing nlink bit %x\n"
+-msgstr "sb versionnum - brak bitu nlink %x\n"
++msgid "multiple .. entries in directory inode %<PRIu64>: "
++msgstr "wiele wpisów .. w i-węźle katalogu %<PRIu64>: "
+-#: .././db/check.c:904
++#: .././repair/dir2.c:1495
+ #, c-format
+-msgid "sb versionnum missing quota bit %x\n"
+-msgstr "sb versionnum - brak bitu quota %x\n"
++msgid "bad . entry in directory inode %<PRIu64>, was %<PRIu64>: "
++msgstr "błędny wpis . w i-węźle katalogu %<PRIu64>, było %<PRIu64>: "
+-#: .././db/check.c:911
++#: .././repair/dir2.c:1507
+ #, c-format
+-msgid "sb versionnum extra align bit %x\n"
+-msgstr "sb versionnum - nadmiarowy bit align %x\n"
+-
+-#: .././db/check.c:951
+-msgid "zeroed"
+-msgstr "wyzerowano"
+-
+-#: .././db/check.c:951
+-msgid "set"
+-msgstr "ustawiono"
+-
+-#: .././db/check.c:951
+-msgid "flipped"
+-msgstr "przełączono"
+-
+-#: .././db/check.c:951
+-msgid "randomized"
+-msgstr "ulosowiono"
++msgid "multiple . entries in directory inode %<PRIu64>: "
++msgstr "wiele wpisów . w i-węźle katalogu %<PRIu64>: "
+-#: .././db/check.c:961
++#: .././repair/dir2.c:1517
+ #, c-format
+-msgid "can't read block %u/%u for trashing\n"
+-msgstr "nie można odczytać bloku %u/%u w celu zaśmiecenia\n"
++msgid "entry \"%*.*s\" in directory inode %<PRIu64> points to self: "
++msgstr "wpis \"%*.*s\" w i-węźle katalogu %<PRIu64> wskazuje na siebie: "
+-#: .././db/check.c:991
+-#, c-format
+-msgid "blocktrash: %u/%u %s block %d bit%s starting %d:%d %s\n"
+-msgstr "blocktrash: %u/%u %s blok %d bit%s początek %d:%d %s\n"
++#: .././repair/dir2.c:1528
++msgid "clearing entry\n"
++msgstr "wyczyszczono wpis\n"
+-#: .././db/check.c:1023 .././db/check.c:1180
+-msgid "must run blockget first\n"
+-msgstr "najpierw trzeba wykonać blockget\n"
++#: .././repair/dir2.c:1530
++msgid "would clear entry\n"
++msgstr "wpis zostałby wyczyszczony\n"
+-#: .././db/check.c:1067
++#: .././repair/dir2.c:1543
+ #, c-format
+-msgid "bad blocktrash count %s\n"
+-msgstr "błędna liczba bloków do zaśmiecenia %s\n"
++msgid "bad bestfree table in block %u in directory inode %<PRIu64>: "
++msgstr "błędna tablica bestfree w bloku %u w i-węźle katalogu %<PRIu64>: "
+-#: .././db/check.c:1081
+-#, c-format
+-msgid "bad blocktrash type %s\n"
+-msgstr "błędny typ zaśmiecania %s\n"
++#: .././repair/dir2.c:1546
++msgid "repairing table\n"
++msgstr "naprawiono tablicę\n"
+-#: .././db/check.c:1090
+-#, c-format
+-msgid "bad blocktrash min %s\n"
+-msgstr "błędny początek zaśmiecania %s\n"
++#: .././repair/dir2.c:1550
++msgid "would repair table\n"
++msgstr "tablica zostałaby naprawiona\n"
+-#: .././db/check.c:1098
++#: .././repair/dir2.c:1589
+ #, c-format
+-msgid "bad blocktrash max %s\n"
+-msgstr "błędny koniec zaśmiecania %s\n"
+-
+-#: .././db/check.c:1103
+-msgid "bad option for blocktrash command\n"
+-msgstr "błędna opcja polecenia blocktrash\n"
+-
+-#: .././db/check.c:1108
+-msgid "bad min/max for blocktrash command\n"
+-msgstr "błędny początek/koniec polecenia blocktrash\n"
+-
+-#: .././db/check.c:1134
+-msgid "blocktrash: no matching blocks\n"
+-msgstr "blocktrash: brak pasujących bloków\n"
++msgid "block %u for directory inode %<PRIu64> is missing\n"
++msgstr "brak bloku %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/check.c:1138
++#: .././repair/dir2.c:1609
+ #, c-format
+-msgid "blocktrash: seed %u\n"
+-msgstr "blocktash: zarodek %u\n"
++msgid "bad directory block magic # %#x in block %u for directory inode %<PRIu64>\n"
++msgstr "błędna liczba magiczna bloku katalogu %#x w bloku %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/check.c:1196
++#: .././repair/dir2.c:1658
+ #, c-format
+-msgid "bad blockuse count %s\n"
+-msgstr "błędna liczba bloków dla blockuse: %s\n"
+-
+-#: .././db/check.c:1202 .././db/check.c:1887
+-msgid "must run blockget -n first\n"
+-msgstr "najpierw trzeba wykonać blockget -n\n"
+-
+-#: .././db/check.c:1208
+-msgid "bad option for blockuse command\n"
+-msgstr "błędna opcja dla polecenia blockuse\n"
++msgid "bad entry count in block %u of directory inode %<PRIu64>\n"
++msgstr "błędna liczba wpisów w bloku %u i-węzła katalogu %<PRIu64>\n"
+-#: .././db/check.c:1215
++#: .././repair/dir2.c:1666
+ #, c-format
+-msgid "block %llu (%u/%u) type %s"
+-msgstr "blok %llu (%u/%u) typu %s"
++msgid "bad hash ordering in block %u of directory inode %<PRIu64>\n"
++msgstr "błędna kolejność hasza w bloku %u i-węzła katalogu %<PRIu64>\n"
+-#: .././db/check.c:1219
++#: .././repair/dir2.c:1674
+ #, c-format
+-msgid " inode %lld"
+-msgstr " i-węzeł %lld"
++msgid "bad stale count in block %u of directory inode %<PRIu64>\n"
++msgstr "błędna liczba stale %u i-węzła katalogu %<PRIu64>\n"
+-#: .././db/check.c:1257
++#: .././repair/dir2.c:1723
+ #, c-format
+-msgid "block %u/%u expected type %s got %s\n"
+-msgstr "blok %u/%u: oczekiwano typu %s, otrzymano %s\n"
++msgid "can't map block %u for directory inode %<PRIu64>\n"
++msgstr "nie można odwzorować bloku %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/check.c:1289
++#: .././repair/dir2.c:1733
+ #, c-format
+-msgid "blocks %u/%u..%u claimed by inode %lld\n"
+-msgstr "blok %u/%u..%u przypisany do i-węzła %lld\n"
++msgid "can't read file block %u for directory inode %<PRIu64>\n"
++msgstr "nie można odczytać bloku pliku %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/check.c:1297
++#: .././repair/dir2.c:1745
+ #, c-format
+-msgid "block %u/%u claimed by inode %lld, previous inum %lld\n"
+-msgstr "blok %u/%u przypisany do i-węzła %lld, poprzedni inum %lld\n"
++msgid "bad directory leaf magic # %#x for directory inode %<PRIu64> block %u\n"
++msgstr "błędna liczba magiczna liścia katalogu %#x dla i-węzła katalogu %<PRIu64> bloku %u\n"
+-#: .././db/check.c:1326
++#: .././repair/dir2.c:1773
+ #, c-format
+-msgid "link count mismatch for inode %lld (name %s), nlink %d, counted %d\n"
+-msgstr "niezgodność liczby dowiązań dla i-węzła %lld (nazwa %s), nlink %d, naliczono %d\n"
++msgid "bad sibling back pointer for block %u in directory inode %<PRIu64>\n"
++msgstr "błędny wskaźnik wstecz dla bloku %u w i-węźle katalogu %<PRIu64>\n"
+-#: .././db/check.c:1334
++#: .././repair/dir2.c:1798
+ #, c-format
+-msgid "disconnected inode %lld, nlink %d\n"
+-msgstr "odłączony i-węzeł %lld, nlink %d\n"
++msgid "bad hash path in directory %<PRIu64>\n"
++msgstr "błędna ścieżka hasza w katalogu %<PRIu64>\n"
+-#: .././db/check.c:1338
++#: .././repair/dir2.c:1908
+ #, c-format
+-msgid "allocated inode %lld has 0 link count\n"
+-msgstr "przydzielony i-węzeł %lld ma zerową liczbę dowiązań\n"
++msgid "block %<PRIu64> for directory inode %<PRIu64> is missing\n"
++msgstr "brak bloku %<PRIu64> dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/check.c:1348
++#: .././repair/dir2.c:1917
+ #, c-format
+-msgid "inode %lld name %s\n"
+-msgstr "i-węzeł %lld o nazwie %s\n"
++msgid "can't read block %<PRIu64> for directory inode %<PRIu64>\n"
++msgstr "nie można odczytać bloku %<PRIu64> dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/check.c:1382 .././db/check.c:1397
++#: .././repair/dir2.c:1925
+ #, c-format
+-msgid "block %u/%u out of range\n"
+-msgstr "blok %u/%u poza zakresem\n"
++msgid "bad directory block magic # %#x in block %<PRIu64> for directory inode %<PRIu64>\n"
++msgstr "błędna liczba magiczna bloku katalogu %#x w bloku %<PRIu64> dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/check.c:1385 .././db/check.c:1400
++#: .././repair/dir2.c:2002
+ #, c-format
+-msgid "blocks %u/%u..%u out of range\n"
+-msgstr "bloki %u/%u..%u poza zakresem\n"
++msgid "bad size/format for directory %<PRIu64>\n"
++msgstr "błędny rozmiar/format dla katalogu %<PRIu64>\n"
+-#: .././db/check.c:1423
++#: .././repair/dir2.c:2009
+ #, c-format
+-msgid "rtblock %llu expected type %s got %s\n"
+-msgstr "rtblok %llu - oczekiwano typu %s, otrzymano %s\n"
++msgid "no . entry for directory %<PRIu64>\n"
++msgstr "brak wpisu . dla katalogu %<PRIu64>\n"
+-#: .././db/check.c:1443
++#: .././repair/dir2.c:2019
+ #, c-format
+-msgid "rtblocks %llu..%llu claimed by inode %lld\n"
+-msgstr "rtbloki %llu..%llu przypisane do i-węzła %lld\n"
++msgid "no .. entry for directory %<PRIu64>\n"
++msgstr "brak wpisu .. dla katalogu %<PRIu64>\n"
+-#: .././db/check.c:1452
++#: .././repair/dir2.c:2021
+ #, c-format
+-msgid "rtblock %llu claimed by inode %lld, previous inum %lld\n"
+-msgstr "rtblok %llu przypisany do i-węzłą %lld, poprzedni inum %lld\n"
++msgid "no .. entry for root directory %<PRIu64>\n"
++msgstr "brak wpisu .. dla katalogu głównego %<PRIu64>\n"
+-#: .././db/check.c:1470
++#: .././repair/incore.c:230
+ #, c-format
+-msgid "root inode %lld is missing\n"
+-msgstr "brak głównego i-węzła %lld\n"
++msgid "couldn't allocate realtime block map, size = %<PRIu64>\n"
++msgstr "nie udało się przydzielić mapy bloków realtime, size = %<PRIu64>\n"
+-#: .././db/check.c:1475
+-#, c-format
+-msgid "root inode %lld is not a directory\n"
+-msgstr "główny i-węzeł %lld nie jest katalogiem\n"
++#: .././repair/incore.c:295
++msgid "couldn't allocate block map btree roots\n"
++msgstr "nie udało się przydzielić korzeni b-drzewa mapy bloków\n"
+-#: .././db/check.c:1491
+-#, c-format
+-msgid "rtblock %llu out of range\n"
+-msgstr "rtblok %llu poza zakresem\n"
++#: .././repair/incore.c:299
++msgid "couldn't allocate block map locks\n"
++msgstr "nie udało się przydzielić blokad mapy bloków\n"
+-#: .././db/check.c:1515
+-#, c-format
+-msgid "blocks %u/%u..%u claimed by block %u/%u\n"
+-msgstr "bloki %u/%u..%u przypisane do bloku %u/%u\n"
++#: .././repair/incore_ext.c:135 .././repair/incore_ext.c:562
++msgid "couldn't allocate new extent descriptor.\n"
++msgstr "nie udało się przydzielić nowego deskryptora ekstentu.\n"
+-#: .././db/check.c:1524
+-#, c-format
+-msgid "setting block %u/%u to %s\n"
+-msgstr "ustawianie bloku %u/%u na %s\n"
++#: .././repair/incore_ext.c:232
++msgid "duplicate bno extent range\n"
++msgstr "powtórzony przedział ekstentów bno\n"
+-#: .././db/check.c:1547
+-#, c-format
+-msgid "setting rtblock %llu to %s\n"
+-msgstr "ustawianie rtbloku %llu na %s\n"
++#: .././repair/incore_ext.c:369
++msgid ":  duplicate bno extent range\n"
++msgstr ": powtórzony przedział ekstentów bno\n"
+-#: .././db/check.c:1593
+-#, c-format
+-msgid "block %u/%u type %s not expected\n"
+-msgstr "blok %u/%u typu %s nie oczekiwany\n"
++#: .././repair/incore_ext.c:644 .././repair/incore_ext.c:699
++msgid "duplicate extent range\n"
++msgstr "powtórzony przedział ekstentów\n"
+-#: .././db/check.c:1614
+-#, c-format
+-msgid "rtblock %llu type %s not expected\n"
+-msgstr "rtblok %llu typu %s nie oczekiwany\n"
++#: .././repair/incore_ext.c:752 .././repair/incore_ext.c:756
++msgid "couldn't malloc dup extent tree descriptor table\n"
++msgstr "nie udało się przydzielić tablicy deskryptorów drzewa powtórzonych ekstentów\n"
+-#: .././db/check.c:1651
+-#, c-format
+-msgid "dir ino %lld missing leaf entry for %x/%x\n"
+-msgstr "i-węzeł katalogu %lld - brak wpisu liścia dla %x/%x\n"
++#: .././repair/incore_ext.c:761
++msgid "couldn't malloc free by-bno extent tree descriptor table\n"
++msgstr "nie udało się przydzielić tablicy deskryptorów drzewa wolnych ekstentów wg bno\n"
+-#: .././db/check.c:1770
+-#, c-format
+-msgid "bad superblock magic number %x, giving up\n"
+-msgstr "błędna liczba magiczna superbloku %x, poddaję się\n"
++#: .././repair/incore_ext.c:766
++msgid "couldn't malloc free by-bcnt extent tree descriptor table\n"
++msgstr "nie udało się przydzielić tablicy deskryptorów drzewa wolnych ekstentów wg bcnt\n"
+-#: .././db/check.c:1824
+-msgid "bad option for blockget command\n"
+-msgstr "błędna opcja dla polecenia blockget\n"
++#: .././repair/incore_ext.c:772
++msgid "couldn't malloc bno extent tree descriptor\n"
++msgstr "nie udało się przydzielić deskryptora drzewa ekstentów wg bno\n"
+-#: .././db/check.c:1904
+-#, c-format
+-msgid "bad option -%c for ncheck command\n"
+-msgstr "błędna opcja -%c dla polecenia ncheck\n"
++#: .././repair/incore_ext.c:776
++msgid "couldn't malloc bcnt extent tree descriptor\n"
++msgstr "nie udało się przydzielić deskryptora drzewa ekstentów wg bcnt\n"
+-#: .././db/check.c:1977 .././db/check.c:2946
+-#, c-format
+-msgid "block 0 for directory inode %lld is missing\n"
+-msgstr "brak bloku 0 dla i-węzła katalogu %lld\n"
++#: .././repair/incore_ext.c:787
++msgid "couldn't malloc dup rt extent tree descriptor\n"
++msgstr "nie udało się przydzielić deskryptora drzewa powtórzonych ekstentów rt\n"
+-#: .././db/check.c:1997 .././db/check.c:2957
+-#, c-format
+-msgid "can't read block 0 for directory inode %lld\n"
+-msgstr "nie można odczytać bloku 0 dla i-węzła katalogu %lld\n"
++#: .././repair/incore_ino.c:47
++msgid "could not allocate nlink array\n"
++msgstr "Nie udało się przydzielić tablicy nlink\n"
+-#: .././db/check.c:2043
+-#, c-format
+-msgid "inode %lld extent [%lld,%lld,%lld,%d]\n"
+-msgstr "ekstent i-węzła %lld [%lld,%lld,%lld,%d]\n"
++#: .././repair/incore_ino.c:225
++msgid "could not allocate ftypes array\n"
++msgstr "nie udało się przydzielić tablicy ftypes\n"
+-#: .././db/check.c:2046
+-#, c-format
+-msgid "bmap rec out of order, inode %lld entry %d\n"
+-msgstr "błędna kolejność bmap rec - i-węzeł %lld, wpis %d\n"
++#: .././repair/incore_ino.c:251
++msgid "inode map malloc failed\n"
++msgstr "przydzielenie mapy i-węzłów nie powiodło się\n"
+-#: .././db/check.c:2052
+-#, c-format
+-msgid "inode %lld bad rt block number %lld, offset %lld\n"
+-msgstr "i-węzeł %lld - błędny numer bloku rt %lld, offset %lld\n"
++#: .././repair/incore_ino.c:364
++msgid "add_aginode_uncertain - duplicate inode range\n"
++msgstr "add_aginode_uncertain - powtórzony przedział i-węzłów\n"
+-#: .././db/check.c:2062 .././db/check.c:2068
+-#, c-format
+-msgid "inode %lld bad block number %lld [%d,%d], offset %lld\n"
+-msgstr "i-węzeł %lld - błędny numer bloku %lld [%d,%d], offset %lld\n"
++#: .././repair/incore_ino.c:459
++msgid "add_inode - duplicate inode range\n"
++msgstr "add_inode - powtórzony przedział i-węzłów\n"
+-#: .././db/check.c:2086 .././db/check.c:2100
++#: .././repair/incore_ino.c:553
+ #, c-format
+-msgid "inode %lld block %lld at offset %lld\n"
+-msgstr "i-węzeł %lld: blok %lld pod offsetem %lld\n"
++msgid "good inode list is --\n"
++msgstr "lista dobrych i-węzłów to:\n"
+-#: .././db/check.c:2127
++#: .././repair/incore_ino.c:556
+ #, c-format
+-msgid "level for ino %lld %s fork bmap root too large (%u)\n"
+-msgstr "i-węzeł %lld: poziom bmap root odgałęzienia %s zbyt duży (%u)\n"
++msgid "uncertain inode list is --\n"
++msgstr "lista niepewnych i-węzłów to:\n"
+-#: .././db/check.c:2139
++#: .././repair/incore_ino.c:561
+ #, c-format
+-msgid "numrecs for ino %lld %s fork bmap root too large (%u)\n"
+-msgstr "i-węzeł %lld: liczba rekordów bmap root odgałęzienia %s zbyt duża (%u)\n"
++msgid "agno %d -- no inodes\n"
++msgstr "agno %d - brak i-węzłów\n"
+-#: .././db/check.c:2166
++#: .././repair/incore_ino.c:565
+ #, c-format
+-msgid "extent count for ino %lld %s fork too low (%d) for file format\n"
+-msgstr "i-węzeł %lld: liczba ekstentów dla odgałęzienia %s zbyt mała (%d) dla formatu pliku\n"
++msgid "agno %d\n"
++msgstr "agno %d\n"
+-#: .././db/check.c:2216 .././db/check.c:3297
++#: .././repair/incore_ino.c:569
+ #, c-format
+-msgid "bad directory data magic # %#x for dir ino %lld block %d\n"
+-msgstr "błędna liczba magiczna danych katalogu %#x dla i-węzła katalogu %lld, blok %d\n"
++msgid "\tptr = %lx, start = 0x%x, free = 0x%llx, confirmed = 0x%llx\n"
++msgstr "\tptr = %lx, start = 0x%x, wolne = 0x%llx, potwierdzone = 0x%llx\n"
+-#: .././db/check.c:2233
+-#, c-format
+-msgid "bad block directory tail for dir ino %lld\n"
+-msgstr "błędny koniec katalogu bloku dla i-węzła katalogu %lld\n"
++#: .././repair/incore_ino.c:620
++msgid "couldn't malloc parent list table\n"
++msgstr "nie udało się przydzielić tablicy listy rodziców\n"
+-#: .././db/check.c:2278
+-#, c-format
+-msgid "dir %lld block %d bad free entry at %d\n"
+-msgstr "katalog %lld, blok %d: błędny wolny wpis pod %d\n"
++#: .././repair/incore_ino.c:631 .././repair/incore_ino.c:677
++msgid "couldn't memalign pentries table\n"
++msgstr "nie udało się memalign na tablicy pentries\n"
+-#: .././db/check.c:2302
+-#, c-format
+-msgid "dir %lld block %d zero length entry at %d\n"
+-msgstr "katalog %lld, blok %d: wpis zerowej długości pod %d\n"
++#: .././repair/incore_ino.c:735
++msgid "could not malloc inode extra data\n"
++msgstr "nie udało się przydzielić dodatkowych danych i-węzła\n"
+-#: .././db/check.c:2311
+-#, c-format
+-msgid "dir %lld block %d bad entry at %d\n"
+-msgstr "katalog %lld, blok %d: błędny wpis pod %d\n"
++#: .././repair/incore_ino.c:801
++msgid "couldn't malloc inode tree descriptor table\n"
++msgstr "nie udało się przydzielić tablicy deskryptorów drzewa i-węzłów\n"
+-#: .././db/check.c:2329
+-#, c-format
+-msgid "dir %lld block %d entry %*.*s %lld\n"
+-msgstr "katalog %lld, blok %d, wpis %*.*s %lld\n"
++#: .././repair/incore_ino.c:805
++msgid "couldn't malloc uncertain ino tree descriptor table\n"
++msgstr "nie udało się przydzielić tablicy deskryptorów drzewa i-węzłów niepewnych\n"
+-#: .././db/check.c:2336
+-#, c-format
+-msgid "dir %lld block %d entry %*.*s bad inode number %lld\n"
+-msgstr "katalog %lld, blokd %d, epis %*.*s: błędny number i-węzła %lld\n"
++#: .././repair/incore_ino.c:810
++msgid "couldn't malloc inode tree descriptor\n"
++msgstr "nie udało się przydzielić deskryptora drzewa i-węzłów\n"
+-#: .././db/check.c:2346 .././db/check.c:3020
+-#, c-format
+-msgid "multiple .. entries in dir %lld (%lld, %lld)\n"
+-msgstr "wiele wpisów .. w katalogu %lld (%lld, %lld)\n"
++#: .././repair/incore_ino.c:814
++msgid "couldn't malloc uncertain ino tree descriptor\n"
++msgstr "nie udało się przydzielić deskryptora drzewa i-węzłów niepewnych\n"
+-#: .././db/check.c:2363 .././db/check.c:3037
+-#, c-format
+-msgid "dir %lld entry . inode number mismatch (%lld)\n"
+-msgstr "katalog %lld, wpis .: niezgodność numeru i-węzła (%lld)\n"
++#: .././repair/incore_ino.c:822
++msgid "couldn't malloc uncertain inode cache area\n"
++msgstr "nie udało się przydzielić obszaru pamięci podręcznej i-węzłów niepewnych\n"
+-#: .././db/check.c:2376
++#: .././repair/init.c:46
+ #, c-format
+-msgid "dir %lld block %d bad count %u\n"
+-msgstr "katalog %lld, blok %d: błędny licznik %u\n"
++msgid "getrlimit(RLIMIT_FSIZE) failed!\n"
++msgstr "getrlimit(RLIMIT_FSIZE) nie powiodło się!\n"
+-#: .././db/check.c:2387 .././db/check.c:3311
++#: .././repair/init.c:54
+ #, c-format
+-msgid "dir %lld block %d extra leaf entry %x %x\n"
+-msgstr "katalog %lld, blok %d: nadmiarowy wpis liścia %x %x\n"
++msgid "setrlimit failed - current: %lld, max: %lld\n"
++msgstr "setrlimit nie powiodło się - bieżący: %lld, max: %lld\n"
+-#: .././db/check.c:2399
++#: .././repair/init.c:107
+ #, c-format
+-msgid "dir %lld block %d bad bestfree data\n"
+-msgstr "katalog %lld, blok %d: błędne dane bestfree\n"
++msgid "Unmount or use the dangerous (-d) option to repair a read-only mounted filesystem\n"
++msgstr "Aby naprawić system plików zamontowany do odczytu, trzeba go odmontować lub użyć opcji niebezpiecznej (-d).\n"
+-#: .././db/check.c:2407
+-#, c-format
+-msgid "dir %lld block %d bad block tail count %d (stale %d)\n"
+-msgstr "katalog %lld, blok %d: błędny licznik końca bloku %d (stale %d)\n"
++#: .././repair/init.c:109
++msgid "couldn't initialize XFS library\n"
++msgstr "nie udało się zainicjować biblioteki XFS\n"
+-#: .././db/check.c:2416
+-#, c-format
+-msgid "dir %lld block %d bad stale tail count %d\n"
+-msgstr "katalog %lld, blok %d: błędny licznik końca stale %d\n"
++#: .././repair/phase1.c:28
++msgid "Sorry, could not find valid secondary superblock\n"
++msgstr "Niestety nie znaleziono poprawnego zapasowego superbloku\n"
+-#: .././db/check.c:2422
+-#, c-format
+-msgid "dir %lld block %d consecutive free entries\n"
+-msgstr "katalog %lld, blok %d: kolejne wolne wpisy\n"
++#: .././repair/phase1.c:29
++msgid "Exiting now.\n"
++msgstr "Zakończono.\n"
+-#: .././db/check.c:2428
++#: .././repair/phase1.c:40
+ #, c-format
+-msgid "dir %lld block %d entry/unused tag mismatch\n"
+-msgstr "katalog %lld, blok %d: niezgodność znacznika wpis/nieużywany\n"
++msgid "could not allocate ag header buffer (%d bytes)\n"
++msgstr "nie udało się przydzielić bufora nagłówka ag (%d bajtów)\n"
+-#: .././db/check.c:2481
+-#, c-format
+-msgid "no . entry for directory %lld\n"
+-msgstr "brak wpisu . dla katalogu %lld\n"
++#: .././repair/phase1.c:58
++msgid "Phase 1 - find and verify superblock...\n"
++msgstr "Faza 1 - szukanie i sprawdzanie superbloku...\n"
+-#: .././db/check.c:2486
+-#, c-format
+-msgid "no .. entry for directory %lld\n"
+-msgstr "brak wpisu .. dla katalogu %lld\n"
++#: .././repair/phase1.c:75
++msgid "error reading primary superblock\n"
++msgstr "błąd podczas odczytu głównego superbloku\n"
+-#: .././db/check.c:2490
++#: .././repair/phase1.c:81
+ #, c-format
+-msgid ". and .. same for non-root directory %lld\n"
+-msgstr ". i .. są takie same dla katalogu %lld (nie będącego głównym)\n"
++msgid "bad primary superblock - %s !!!\n"
++msgstr "błędny główny superblok - %s!!!\n"
+-#: .././db/check.c:2495
++#: .././repair/phase1.c:88
+ #, c-format
+-msgid "root directory %lld has .. %lld\n"
+-msgstr "główny katalog %lld ma .. %lld\n"
++msgid "couldn't verify primary superblock - %s !!!\n"
++msgstr "nie udało się sprawdzić głównego superbloku - %s!!!\n"
+-#: .././db/check.c:2525 .././db/check.c:2560
+-#, c-format
+-msgid "bad size (%lld) or format (%d) for directory inode %lld\n"
+-msgstr "błędny rozmiar (%lld) lub format (%d) dla i-węzła katalogu %lld\n"
++#: .././repair/phase1.c:106
++msgid "superblock has a features2 mismatch, correcting\n"
++msgstr "superblok ma niepasujące features2, poprawianie\n"
+-#: .././db/check.c:2588
++#: .././repair/phase1.c:123
+ #, c-format
+-msgid "bad number of extents %d for inode %lld\n"
+-msgstr "błędna liczba ekstentów %d dla i-węzła %lld\n"
++msgid "Enabling lazy-counters\n"
++msgstr "Włączanie leniwych liczników\n"
+-#: .././db/check.c:2660
++#: .././repair/phase1.c:128
+ #, c-format
+-msgid "bad magic number %#x for inode %lld\n"
+-msgstr "błędna liczba magiczna %#x dla i-węzła %lld\n"
++msgid "Disabling lazy-counters\n"
++msgstr "Wyłączanie leniwych liczników\n"
+-#: .././db/check.c:2667
++#: .././repair/phase1.c:131
+ #, c-format
+-msgid "bad version number %#x for inode %lld\n"
+-msgstr "błędny numer wersji %#x dla i-węzła %lld\n"
++msgid "Lazy-counters are already %s\n"
++msgstr "Leniwe liczniki już są %s\n"
+-#: .././db/check.c:2675
+-#, c-format
+-msgid "bad nblocks %lld for free inode %lld\n"
+-msgstr "błędna liczba bloków %lld dla wolnego i-węzła %lld\n"
++#: .././repair/phase1.c:132
++msgid "enabled"
++msgstr "włączone"
+-#: .././db/check.c:2686
+-#, c-format
+-msgid "bad nlink %d for free inode %lld\n"
+-msgstr "błądna liczba dowiązań %d dla wolnego i-węzła %lld\n"
++#: .././repair/phase1.c:132
++msgid "disabled"
++msgstr "wyłączone"
+-#: .././db/check.c:2692
+-#, c-format
+-msgid "bad mode %#o for free inode %lld\n"
+-msgstr "błędne uprawnienia %#o dla wolnego i-węzła %lld\n"
++#: .././repair/phase1.c:139
++msgid "writing modified primary superblock\n"
++msgstr "zapisano zmodyfikowany główny superblok\n"
+-#: .././db/check.c:2701
+-#, c-format
+-msgid "bad next unlinked %#x for inode %lld\n"
+-msgstr "błędny następny niedowiązany %#x dla i-węzła %lld\n"
++#: .././repair/phase1.c:142
++msgid "would write modified primary superblock\n"
++msgstr "zmodyfikowany główny superblok zostałby zapisany\n"
+-#: .././db/check.c:2711
++#: .././repair/phase2.c:69
+ #, c-format
+-msgid "bad format %d for inode %lld type %#o\n"
+-msgstr "błędny format %d dla i-węzła %lld typu %#o\n"
++msgid "zero_log: cannot find log head/tail (xlog_find_tail=%d), zeroing it anyway\n"
++msgstr "zero_log: nie znaleziono początku/końca logu (xlog_find_tail=%d), wyzerowano go\n"
+-#: .././db/check.c:2718
++#: .././repair/phase2.c:75
+ #, c-format
+-msgid "bad fork offset %d for inode %lld\n"
+-msgstr "błędny offset odgałęzienia %d dla i-węzła %lld\n"
++msgid "zero_log: head block %<PRId64> tail block %<PRId64>\n"
++msgstr "zero_log: blok początku %<PRId64> blok końca %<PRId64>\n"
+-#: .././db/check.c:2725
+-#, c-format
+-msgid "bad attribute format %d for inode %lld\n"
+-msgstr "błędny format atrybutu %d dla i-węzła %lld\n"
++#: .././repair/phase2.c:81
++msgid ""
++"ALERT: The filesystem has valuable metadata changes in a log which is being\n"
++"destroyed because the -L option was used.\n"
++msgstr ""
++"UWAGA: system plików zawiera wartościowe zmiany metadanych w logu, który jest\n"
++"niszczony, ponieważ użyto opcji -L.\n"
+-#: .././db/check.c:2731
+-#, c-format
+-msgid "inode %lld mode %#o fmt %s afmt %s nex %d anex %d nblk %lld sz %lld%s%s%s%s%s%s%s\n"
+-msgstr "i-węzeł %lld mode %#o fmt %s afmt %s nex %d anex %d nblk %lld sz %lld%s%s%s%s%s%s%s\n"
++#: .././repair/phase2.c:85
++msgid ""
++"ERROR: The filesystem has valuable metadata changes in a log which needs to\n"
++"be replayed.  Mount the filesystem to replay the log, and unmount it before\n"
++"re-running xfs_repair.  If you are unable to mount the filesystem, then use\n"
++"the -L option to destroy the log and attempt a repair.\n"
++"Note that destroying the log may cause corruption -- please attempt a mount\n"
++"of the filesystem before doing this.\n"
++msgstr ""
++"BŁĄD: system plików zawiera wartościowe zmiany metadanych w logu, który\n"
++"musi być odtworzony. Należy podmontować system plików, aby odtworzyć log,\n"
++"a następnie odmontować go przed ponownym uruchomieniem xfs_repair. Jeśli\n"
++"systemu plików nie da się podmontować, można użyć opcji -L, aby zniszczyć\n"
++"log i spróbować naprawić system plików.\n"
++"Należy zauważyć, że zniszczenie logu może spowodować uszkodzenia danych -\n"
++"proszę najpierw spróbować podmontować system plików.\n"
+-#: .././db/check.c:2851
+-#, c-format
+-msgid "bad nblocks %lld for inode %lld, counted %lld\n"
+-msgstr "błędna liczba bloków %lld dla i-węzła %lld, naliczono %lld\n"
++#: .././repair/phase2.c:127
++msgid "This filesystem has an external log.  Specify log device with the -l option.\n"
++msgstr "Ten system plików ma zewnętrzny log. Należy podać urządzenie logu przy użyciu opcji -l.\n"
+-#: .././db/check.c:2858
++#: .././repair/phase2.c:130
+ #, c-format
+-msgid "bad nextents %d for inode %lld, counted %d\n"
+-msgstr "błędna liczba ekstentów %d dla i-węzła %lld, naliczono %d\n"
++msgid "Phase 2 - using external log on %s\n"
++msgstr "Faza 2 - użycie zewnętrznego logu na %s\n"
+-#: .././db/check.c:2864
+-#, c-format
+-msgid "bad anextents %d for inode %lld, counted %d\n"
+-msgstr "błędne anextents %d dla i-węzła %lld, naliczono %d\n"
++#: .././repair/phase2.c:132
++msgid "Phase 2 - using internal log\n"
++msgstr "Faza 2 - użycie wewnętrznego logu\n"
+-#: .././db/check.c:2916
+-#, c-format
+-msgid "local inode %lld data is too large (size %lld)\n"
+-msgstr "dane lokalnego i-węzła %lld zbyt duże (rozmiar %lld)\n"
++#: .././repair/phase2.c:136
++msgid "        - zero log...\n"
++msgstr "        - zerowanie logu...\n"
+-#: .././db/check.c:2925
+-#, c-format
+-msgid "local inode %lld attr is too large (size %d)\n"
+-msgstr "atrybuty lokalnego i-węzła %lld zbyt duże (rozmiar %d)\n"
++#: .././repair/phase2.c:140
++msgid "        - scan filesystem freespace and inode maps...\n"
++msgstr "        - przeszukiwanie wolnego miejsca i map i-węzłów w systemie plików...\n"
+-#: .././db/check.c:2990
+-#, c-format
+-msgid "bad directory leaf magic # %#x for dir ino %lld\n"
+-msgstr "błędna liczba magiczna liścia katalogu %#x dla i-węzła katalogu %lld\n"
++#: .././repair/phase2.c:156
++msgid "root inode chunk not found\n"
++msgstr "nie znaleziono danych głównego i-węzła\n"
+-#: .././db/check.c:3003 .././db/check.c:3768
+-#, c-format
+-msgid "dir %lld entry %*.*s %lld\n"
+-msgstr "katalog %lld wpis %*.*s %lld\n"
++#: .././repair/phase2.c:175
++msgid "        - found root inode chunk\n"
++msgstr "        - znaleziono dane głównego i-węzła\n"
+-#: .././db/check.c:3010 .././db/check.c:3664 .././db/check.c:3756
+-#, c-format
+-msgid "dir %lld entry %*.*s bad inode number %lld\n"
+-msgstr "katalog %lld wpis %*.*s: błędny numer i-węzła %lld\n"
++#: .././repair/phase2.c:181
++msgid "root inode marked free, "
++msgstr "główny i-węzeł oznaczony jako wolny, "
+-#: .././db/check.c:3089 .././db/check.c:3358
+-#, c-format
+-msgid "dir inode %lld block %u=%llu\n"
+-msgstr "i-węzeł katalogu %lld, blok %u=%llu\n"
++#: .././repair/phase2.c:190
++msgid "realtime bitmap inode marked free, "
++msgstr "i-węzeł bitmapy realtime oznaczony jako wolny, "
+-#: .././db/check.c:3101 .././db/check.c:3368
+-#, c-format
+-msgid "can't read block %u for directory inode %lld\n"
+-msgstr "nie można odczytać bloku %u dla i-węzła katalogu %lld\n"
++#: .././repair/phase2.c:199
++msgid "realtime summary inode marked free, "
++msgstr "i-węzeł opisu realtime oznaczony jako wolny, "
+-#: .././db/check.c:3115 .././db/check.c:3381
++#: .././repair/phase3.c:45
+ #, c-format
+-msgid "multiple .. entries in dir %lld\n"
+-msgstr "wiele wpisów .. w katalogu %lld\n"
++msgid "cannot read agi block %<PRId64> for ag %u\n"
++msgstr "nie można odczytać bloku agi %<PRId64> dla ag %u\n"
+-#: .././db/check.c:3137
++#: .././repair/phase3.c:76 .././repair/phase4.c:139 .././repair/phase5.c:1485
++#: .././repair/phase6.c:3051
+ #, c-format
+-msgid "missing free index for data block %d in dir ino %lld\n"
+-msgstr "brak indeksu wolnego miejsca dla bloku danych %d w i-węźle katalogu %lld\n"
++msgid "        - agno = %d\n"
++msgstr "        - agno = %d\n"
+-#: .././db/check.c:3163
+-#, c-format
+-msgid "bad free block magic # %#x for dir ino %lld block %d\n"
+-msgstr "błędna liczba magiczna wolnego bloku %#x dla i-węzła katalogu %lld, blok %d\n"
++#: .././repair/phase3.c:93
++msgid "Phase 3 - for each AG...\n"
++msgstr "Faza 3 - dla każdej AG...\n"
+-#: .././db/check.c:3173
+-#, c-format
+-msgid "bad free block firstdb %d for dir ino %lld block %d\n"
+-msgstr "błędne firstdb wolnego bloku %d dla i-węzła katalogu %lld, blok %d\n"
++#: .././repair/phase3.c:95
++msgid "        - scan and clear agi unlinked lists...\n"
++msgstr "        - przeszukiwanie i czyszczenie odłączonych list agi...\n"
+-#: .././db/check.c:3186
+-#, c-format
+-msgid "bad free block nvalid/nused %d/%d for dir ino %lld block %d\n"
+-msgstr "błędne liczby nvalid/nused (%d/%d) wolnych bloków w i-węźle katalogu %lld, blok %d\n"
++#: .././repair/phase3.c:97
++msgid "        - scan (but don't clear) agi unlinked lists...\n"
++msgstr "        - przeszukiwanie (ale nie czyszczenie) odłączonych list agi...\n"
+-#: .././db/check.c:3200
+-#, c-format
+-msgid "bad free block ent %d is %d should be %d for dir ino %lld block %d\n"
+-msgstr "błędna liczba ent %d (równa %d, powinna być %d) wolnego bloku w i-węźle katalogu %lld, blok %d\n"
++#: .././repair/phase3.c:117
++msgid "        - process known inodes and perform inode discovery...\n"
++msgstr "        - przetwarzanie znanych i-węzłów i rozpoznawanie i-węzłów...\n"
+-#: .././db/check.c:3214
+-#, c-format
+-msgid "bad free block nused %d should be %d for dir ino %lld block %d\n"
+-msgstr "błędna liczba nused (%d, powinna być %d) wolnego bloku w i-węźle katalogu %lld, blok %d\n"
++#: .././repair/phase3.c:128
++msgid "        - process newly discovered inodes...\n"
++msgstr "        - przetwarzanie nowo rozpoznanych i-węzłów...\n"
+-#: .././db/check.c:3243
+-#, c-format
+-msgid "bad leaf block forw/back pointers %d/%d for dir ino %lld block %d\n"
+-msgstr "błędne wskaźniki przód/tył (%d/%d) bloku liścia w i-węźle katalogu %lld, blok %d\n"
++#: .././repair/phase4.c:174
++msgid "Phase 4 - check for duplicate blocks...\n"
++msgstr "Faza 4 - sprawdzanie powtórzonych bloków...\n"
+-#: .././db/check.c:3252
+-#, c-format
+-msgid "single leaf block for dir ino %lld block %d should be at block %d\n"
+-msgstr "blok pojedynczego liścia dla i-węzłu katalogu %lld, blok %d powinien być w bloku %d\n"
++#: .././repair/phase4.c:175
++msgid "        - setting up duplicate extent list...\n"
++msgstr "        - tworzenie listy powtórzonych ekstentów...\n"
+-#: .././db/check.c:3264
+-#, c-format
+-msgid "bestfree %d for dir ino %lld block %d doesn't match table value %d\n"
+-msgstr "bestfree %d dla i-węzła katalogu %lld, blok %d nie zgadza się z wartością w tablicy %d\n"
++#: .././repair/phase4.c:189
++msgid "root inode would be lost\n"
++msgstr "główny i-węzeł zostałby utracony\n"
+-#: .././db/check.c:3288
+-#, c-format
+-msgid "bad node block level %d for dir ino %lld block %d\n"
+-msgstr "błędny poziom bloku węzła %d dla i-węzła katalogu %lld, blok %d\n"
++#: .././repair/phase4.c:191
++msgid "root inode lost\n"
++msgstr "główny i-węzeł utracony\n"
+-#: .././db/check.c:3320
++#: .././repair/phase4.c:208
+ #, c-format
+-msgid "dir %lld block %d stale mismatch %d/%d\n"
+-msgstr "katalog %lld, blok %d: niezgodność liczby stale %d/%d\n"
++msgid "unknown block state, ag %d, block %d\n"
++msgstr "nieznany stan bloku, ag %d, blok %d\n"
+-#: .././db/check.c:3352
++#: .././repair/phase4.c:241
+ #, c-format
+-msgid "can't read root block for directory inode %lld\n"
+-msgstr "nie można odczytać głównego bloku dla i-węzła katalogu %lld\n"
++msgid "unknown rt extent state, extent %<PRIu64>\n"
++msgstr "nieznany stan ekstentu rt, ekstent %<PRIu64>\n"
+-#: .././db/check.c:3441
+-#, c-format
+-msgid "can't read block %lld for %s quota inode (fsblock %lld)\n"
+-msgstr "nie można odczytać bloku %lld i-węzła limitów %s (blok fs %lld)\n"
++#: .././repair/phase4.c:290
++msgid "        - check for inodes claiming duplicate blocks...\n"
++msgstr "        - szukanie i-węzłów odwołujących się do powtórzonych bloków...\n"
+-#: .././db/check.c:3451
+-#, c-format
+-msgid "%s dqblk %lld entry %d id %u bc %lld ic %lld rc %lld\n"
+-msgstr "%s dqblk %lld wpis %d id %u bc %lld ic %lld rc %lld\n"
++#: .././repair/phase5.c:210
++msgid "could not set up btree block array\n"
++msgstr "nie udało się utworzyć tablicy bloków b-drzewa\n"
+-#: .././db/check.c:3459
+-#, c-format
+-msgid "bad magic number %#x for %s dqblk %lld entry %d id %u\n"
+-msgstr "błędna liczba magiczna %#x dla dqblk %s %lld, wpis %d, id %u\n"
++#: .././repair/phase5.c:222
++msgid "error - not enough free space in filesystem\n"
++msgstr "błąd - za mało wolnego miejsca w systemie plików\n"
+-#: .././db/check.c:3468
++#: .././repair/phase5.c:436
+ #, c-format
+-msgid "bad version number %#x for %s dqblk %lld entry %d id %u\n"
+-msgstr "błędny numer wersji %#x dla dqblk %s %lld, wpis %d, id %u\n"
++msgid "can't rebuild fs trees -- not enough free space on ag %u\n"
++msgstr "nie można przebudować drzew systemu plików - za mało wolnego miejsca w ag %u\n"
+-#: .././db/check.c:3478
++#: .././repair/phase5.c:459
+ #, c-format
+-msgid "bad flags %#x for %s dqblk %lld entry %d id %u\n"
+-msgstr "błędne flagi %#x dla dqblk %s %lld, wpis %d, id %u\n"
++msgid "ag %u - not enough free space to build freespace btrees\n"
++msgstr "ag %u - za mało wolnego miejsca na przebudowanie b-drzew wolnego miejsca\n"
+-#: .././db/check.c:3487
++#: .././repair/phase5.c:494
+ #, c-format
+-msgid "bad id %u for %s dqblk %lld entry %d id %u\n"
+-msgstr "błędne id %u dla dqblk %s %lld, wpis %d, id %u\n"
++msgid "not enough free blocks left to describe all free blocks in AG %u\n"
++msgstr "za mało wolnych bloków na opisanie wszystkich wolnych bloków w AG %u\n"
+-#: .././db/check.c:3533
++#: .././repair/phase5.c:1364
+ #, c-format
+-msgid "block %lld for rtbitmap inode is missing\n"
+-msgstr "brak bloku %lld dla i-węzła rtbitmapy\n"
++msgid "lost %d blocks in ag %u\n"
++msgstr "utracono %d bloków w ag %u\n"
+-#: .././db/check.c:3544
++#: .././repair/phase5.c:1367
+ #, c-format
+-msgid "can't read block %lld for rtbitmap inode\n"
+-msgstr "nie można odczytać bloku %lld dla i-węzła rtbitmapy\n"
++msgid "thought we were going to lose %d blocks in ag %u, actually lost %d\n"
++msgstr "przewidywano utracenie %d bloków w ag %u, a utracono %d\n"
+-#: .././db/check.c:3600
+-#, c-format
+-msgid "block %lld for rtsummary inode is missing\n"
+-msgstr "brak bloku %lld dla i-węzła rtsummary\n"
++#: .././repair/phase5.c:1436 .././repair/xfs_repair.c:887
++msgid "couldn't get superblock\n"
++msgstr "nie udało się pobrać superbloku\n"
+-#: .././db/check.c:3611
++#: .././repair/phase5.c:1508
+ #, c-format
+-msgid "can't read block %lld for rtsummary inode\n"
+-msgstr "nie można odczytać bloku %lld dla i-węzła rtsummary\n"
++msgid "unable to rebuild AG %u.  Not enough free space in on-disk AG.\n"
++msgstr "nie udało się przebudować AG %u. Za mało wolnego miejsca w AG na dysku.\n"
+-#: .././db/check.c:3644 .././db/check.c:3748
++#: .././repair/phase5.c:1543
+ #, c-format
+-msgid "dir %lld entry . %lld\n"
+-msgstr "katalog %lld, wpis . %lld\n"
++msgid "unable to rebuild AG %u.  No free space.\n"
++msgstr "nie udało się przebudować AG %u. Brak wolnego miejsca.\n"
+-#: .././db/check.c:3652
++#: .././repair/phase5.c:1570
+ #, c-format
+-msgid "dir %llu bad size in entry at %d\n"
+-msgstr "katalog %llu: błędny rozmiar we wpisie przy %d\n"
++msgid "lost %d blocks in agno %d, sorry.\n"
++msgstr "niestety utracono %d bloków w agno %d.\n"
+-#: .././db/check.c:3676
+-#, c-format
+-msgid "dir %lld entry %*.*s offset %d %lld\n"
+-msgstr "katalog %lld wpis %*.*s offset %d %lld\n"
++#: .././repair/phase5.c:1639
++msgid "Phase 5 - rebuild AG headers and trees...\n"
++msgstr "Faza 5 - przebudowywanie nagłówków i drzew AG...\n"
+-#: .././db/check.c:3681
+-#, c-format
+-msgid "dir %lld entry %*.*s bad offset %d\n"
+-msgstr "katalog %lld wpis %*.*s błędny offset %d\n"
++#: .././repair/phase5.c:1669
++msgid "cannot alloc sb_icount_ag buffers\n"
++msgstr "nie można przydzielić buforów sb_icount_ag\n"
+-#: .././db/check.c:3694
+-#, c-format
+-msgid "dir %llu size is %lld, should be %u\n"
+-msgstr "katalog %llu: rozmiar %lld, powinien być %u\n"
++#: .././repair/phase5.c:1673
++msgid "cannot alloc sb_ifree_ag buffers\n"
++msgstr "nie można przydzielić buforów sb_ifree_ag\n"
+-#: .././db/check.c:3702
+-#, c-format
+-msgid "dir %llu offsets too high\n"
+-msgstr "katalog %llu: offsety zbyt duże\n"
++#: .././repair/phase5.c:1677
++msgid "cannot alloc sb_fdblocks_ag buffers\n"
++msgstr "nie można przydzielić buforów sb_fdblocks_ag\n"
+-#: .././db/check.c:3713 .././db/check.c:3782
+-#, c-format
+-msgid "dir %lld entry .. bad inode number %lld\n"
+-msgstr "katalog %lld wpis .. - błędny numer i-węzła %lld\n"
++#: .././repair/phase5.c:1696
++msgid "        - generate realtime summary info and bitmap...\n"
++msgstr "        - generowanie opisu i bitmapy realtime...\n"
+-#: .././db/check.c:3718 .././db/check.c:3787
+-#, c-format
+-msgid "dir %lld entry .. %lld\n"
+-msgstr "katalog %lld wpis .. %lld\n"
++#: .././repair/phase5.c:1701
++msgid "        - reset superblock...\n"
++msgstr "        - przestawianie superbloku...\n"
+-#: .././db/check.c:3721
++#: .././repair/phase6.c:64
+ #, c-format
+-msgid "dir %lld i8count mismatch is %d should be %d\n"
+-msgstr "katalog %lld: niezgodność i8count: jest %d, powinno być %d\n"
++msgid "malloc failed add_dotdot_update (%zu bytes)\n"
++msgstr "malloc nie powiodło się w add_dotdot_update (%zu bajtów)\n"
+-#: .././db/check.c:3773
++#: .././repair/phase6.c:216
+ #, c-format
+-msgid "dir %llu size is %lld, should be %d\n"
+-msgstr "katalog %llu: rozmiar wynosi %lld, powinien być %d\n"
++msgid "malloc failed in dir_hash_add (%zu bytes)\n"
++msgstr "malloc nie powiodło się w dir_hash_add (%zu bajtów)\n"
+-#: .././db/check.c:3864
+-#, c-format
+-msgid "%s quota id %u, have/exp"
+-msgstr "limit %s id %u: jest/exp"
++#: .././repair/phase6.c:270
++msgid "ok"
++msgstr "ok"
+-#: .././db/check.c:3867
+-#, c-format
+-msgid " bc %lld/%lld"
+-msgstr " bc %lld/%lld"
++#: .././repair/phase6.c:271
++msgid "duplicate leaf"
++msgstr "powtórzony liść"
+-#: .././db/check.c:3871
+-#, c-format
+-msgid " ic %lld/%lld"
+-msgstr " ic %lld/%lld"
++#: .././repair/phase6.c:272
++msgid "hash value mismatch"
++msgstr "niezgodność wartości hasza"
+-#: .././db/check.c:3875
+-#, c-format
+-msgid " rc %lld/%lld"
+-msgstr " rc %lld/%lld"
++#: .././repair/phase6.c:273
++msgid "no data entry"
++msgstr "brak wpisu danych"
+-#: .././db/check.c:3931
+-#, c-format
+-msgid "can't read superblock for ag %u\n"
+-msgstr "nie można odczytać superbloku dla ag %u\n"
++#: .././repair/phase6.c:274
++msgid "no leaf entry"
++msgstr "brak wpisu liścia"
+-#: .././db/check.c:3940
+-#, c-format
+-msgid "bad sb magic # %#x in ag %u\n"
+-msgstr "błędna liczba magiczna %#x superbloku w ag %u\n"
++#: .././repair/phase6.c:275
++msgid "bad stale count"
++msgstr "błędna liczba stale"
+-#: .././db/check.c:3946
++#: .././repair/phase6.c:283
+ #, c-format
+-msgid "bad sb version # %#x in ag %u\n"
+-msgstr "błędny numer wersji %#x superbloku w ag %u\n"
++msgid "bad hash table for directory inode %<PRIu64> (%s): "
++msgstr "błędna tablica haszująca dla i-węzła katalogu %<PRIu64> (%s): "
+-#: .././db/check.c:3956 .././db/sb.c:201
+-msgid "mkfs not completed successfully\n"
+-msgstr "mkfs nie zakończony pomyślnie\n"
++#: .././repair/phase6.c:286
++msgid "rebuilding\n"
++msgstr "przebudowano\n"
+-#: .././db/check.c:3968 .././db/frag.c:365
+-#, c-format
+-msgid "can't read agf block for ag %u\n"
+-msgstr "nie można odczytać bloku agf dla ag %u\n"
++#: .././repair/phase6.c:288
++msgid "would rebuild\n"
++msgstr "zostałaby przebudowana\n"
+-#: .././db/check.c:3974
+-#, c-format
+-msgid "bad agf magic # %#x in ag %u\n"
+-msgstr "błędna liczba magiczna agf %#x w ag %u\n"
++#: .././repair/phase6.c:324
++msgid "calloc failed in dir_hash_init\n"
++msgstr "calloc nie powiodło się w dir_hash_init\n"
+-#: .././db/check.c:3980
+-#, c-format
+-msgid "bad agf version # %#x in ag %u\n"
+-msgstr "błędny numer wersji agf %#x w ag %u\n"
++#: .././repair/phase6.c:471
++msgid "ran out of disk space!\n"
++msgstr "brak miejsca na dysku!\n"
+-#: .././db/check.c:3996 .././db/frag.c:374
++#: .././repair/phase6.c:473
+ #, c-format
+-msgid "can't read agi block for ag %u\n"
+-msgstr "nie można odczytać bloku agi w ag %u\n"
++msgid "xfs_trans_reserve returned %d\n"
++msgstr "xfs_trans_reserve zwróciło %d\n"
+-#: .././db/check.c:4002
++#: .././repair/phase6.c:506 .././repair/phase6.c:616
+ #, c-format
+-msgid "bad agi magic # %#x in ag %u\n"
+-msgstr "błędna liczba magiczna agi %#x w ag %u\n"
++msgid "couldn't iget realtime bitmap inode -- error - %d\n"
++msgstr "nie udało się wykonać iget dla i-węzła bitmapy realtime - błąd %d\n"
+-#: .././db/check.c:4008
++#: .././repair/phase6.c:571
+ #, c-format
+-msgid "bad agi version # %#x in ag %u\n"
+-msgstr "błędny numer wersji agi # %#x w ag %u\n"
++msgid "couldn't allocate realtime bitmap, error = %d\n"
++msgstr "nie udało się przydzielić bitmapy realtime, błąd = %d\n"
+-#: .././db/check.c:4048
++#: .././repair/phase6.c:584
+ #, c-format
+-msgid "agf_btreeblks %u, counted %u in ag %u\n"
+-msgstr "agf_btreeblks %u, naliczono %u w ag %u\n"
++msgid "allocation of the realtime bitmap failed, error = %d\n"
++msgstr "przydzielenie bitmapy realtime nie powiodło się, błąd = %d\n"
+-#: .././db/check.c:4072
++#: .././repair/phase6.c:630
+ #, c-format
+-msgid "agi unlinked bucket %d is %u in ag %u (inode=%lld)\n"
+-msgstr "agi unlinked bucket %d is %u in ag %u (inode=%lld)\n"
++msgid "couldn't map realtime bitmap block %<PRIu64>, error = %d\n"
++msgstr "nie udało się odwzorować bloku bitmapy realtime %<PRIu64>, błąd = %d\n"
+-#: .././db/check.c:4109
++#: .././repair/phase6.c:643
+ #, c-format
+-msgid "can't read agfl block for ag %u\n"
+-msgstr "nie można odczytać bloku agfl dla ag %u\n"
++msgid "can't access block %<PRIu64> (fsbno %<PRIu64>) of realtime bitmap inode %<PRIu64>\n"
++msgstr "brak dostępu do bloku %<PRIu64> (fsbno %<PRIu64>) i-węzła bitmapy realtime %<PRIu64>\n"
+-#: .././db/check.c:4128
++#: .././repair/phase6.c:688 .././repair/phase6.c:763
+ #, c-format
+-msgid "freeblk count %u != flcount %u in ag %u\n"
+-msgstr "liczba freeblk %u != flcount %u w ag %u\n"
++msgid "couldn't iget realtime summary inode -- error - %d\n"
++msgstr "nie udało się wykonać iget dla i-węzła opisu realtime - błąd %d\n"
+-#: .././db/check.c:4157 .././db/check.c:4185 .././db/frag.c:397
+-#: .././db/frag.c:420 .././db/freesp.c:270
++#: .././repair/phase6.c:702
+ #, c-format
+-msgid "can't read btree block %u/%u\n"
+-msgstr "nie można odczytać bloku b-drzewa %u/%u\n"
++msgid "couldn't map realtime summary inode block %<PRIu64>, error = %d\n"
++msgstr "nie udało się odwzorować bloku i-węzła opisu realtime %<PRIu64>, błąd = %d\n"
+-#: .././db/check.c:4218
++#: .././repair/phase6.c:715
+ #, c-format
+-msgid "bad magic # %#x in inode %lld bmbt block %u/%u\n"
+-msgstr "błędna liczba magiczna %#x w i-węźle %lld, blok bmbt %u/%u\n"
++msgid "can't access block %<PRIu64> (fsbno %<PRIu64>) of realtime summary inode %<PRIu64>\n"
++msgstr "brak dostępu do bloku %<PRIu64> (fsbno %<PRIu64>) i-węzła opisu realtime %<PRIu64>\n"
+-#: .././db/check.c:4225
++#: .././repair/phase6.c:833
+ #, c-format
+-msgid "expected level %d got %d in inode %lld bmbt block %u/%u\n"
+-msgstr "oczekiwano poziomu %d, a uzyskano %d w i-węźle %lld, blok bmbt %u/%u\n"
++msgid "couldn't allocate realtime summary inode, error = %d\n"
++msgstr "nie udało się przydzielić i-węzła opisu realtime, błąd = %d\n"
+-#: .././db/check.c:4237 .././db/check.c:4254
++#: .././repair/phase6.c:846
+ #, c-format
+-msgid "bad btree nrecs (%u, min=%u, max=%u) in inode %lld bmap block %lld\n"
+-msgstr "błędna liczba rekordów b-drzewa (%u, min=%u, max=%u) w i-węźle %lld, blok bitmapy %lld\n"
++msgid "allocation of the realtime summary ino failed, error = %d\n"
++msgstr "przydzielenie i-węzła opisu realtime nie powiodło się, błąd = %d\n"
+-#: .././db/check.c:4282
++#: .././repair/phase6.c:878
+ #, c-format
+-msgid "bad magic # %#x in btbno block %u/%u\n"
+-msgstr "błędna liczba magiczna %#x w bloku btbno %u/%u\n"
++msgid "could not iget root inode -- error - %d\n"
++msgstr "nie udało się wykonać iget dla głównego i-węzła - błąd %d\n"
+-#: .././db/check.c:4291
++#: .././repair/phase6.c:960
+ #, c-format
+-msgid "expected level %d got %d in btbno block %u/%u\n"
+-msgstr "oczekiwano poziomu %d, a uzyskano %d w bloku btbno %u/%u\n"
++msgid "%d - couldn't iget root inode to obtain %s\n"
++msgstr "%d - nie udało się wykonać iget dla głównego węzła, aby uzyskać %s\n"
+-#: .././db/check.c:4300 .././db/check.c:4328 .././db/check.c:4373
+-#: .././db/check.c:4404
++#: .././repair/phase6.c:993
+ #, c-format
+-msgid "bad btree nrecs (%u, min=%u, max=%u) in btbno block %u/%u\n"
+-msgstr "błędna liczba rekordów b-drzewa (%u, min=%u, max=%u) w bloku btbno %u/%u\n"
++msgid "%s inode allocation failed %d\n"
++msgstr "przydzielenie i-węzłą %s nie powiodło się - %d\n"
+-#: .././db/check.c:4355
++#: .././repair/phase6.c:1040
+ #, c-format
+-msgid "bad magic # %#x in btcnt block %u/%u\n"
+-msgstr "błędna liczba magiczna %#x w bloku btcbt %u/%u\n"
++msgid "can't make %s, createname error %d\n"
++msgstr "nie można zrobić %s, błąd createname %d\n"
+-#: .././db/check.c:4364
++#: .././repair/phase6.c:1060
+ #, c-format
+-msgid "expected level %d got %d in btcnt block %u/%u\n"
+-msgstr "oczekiwano poziomu %d, a uzyskano %d w bloku btcnt %u/%u\n"
++msgid "%s directory creation failed -- bmapf error %d\n"
++msgstr "tworzenie katalogu %s nie powiodło się - błąd bmapf %d\n"
+-#: .././db/check.c:4435
++#: .././repair/phase6.c:1105
+ #, c-format
+-msgid "bad magic # %#x in inobt block %u/%u\n"
+-msgstr "błędna liczba magiczna %#x w bloku inobt %u/%u\n"
++msgid "%d - couldn't iget orphanage inode\n"
++msgstr "%d - nie udało się wykonać iget dla i-węzła sierocińca\n"
+-#: .././db/check.c:4442
++#: .././repair/phase6.c:1118
+ #, c-format
+-msgid "expected level %d got %d in inobt block %u/%u\n"
+-msgstr "oczekiwano poziomu %d, a uzyskano %d w bloku inobt %u/%u\n"
++msgid "%d - couldn't iget disconnected inode\n"
++msgstr "%d - nie udało się wykonać iget dla odłączonego i-węzła\n"
+-#: .././db/check.c:4451 .././db/check.c:4517
++#: .././repair/phase6.c:1137 .././repair/phase6.c:1180
++#: .././repair/phase6.c:1237
+ #, c-format
+-msgid "bad btree nrecs (%u, min=%u, max=%u) in inobt block %u/%u\n"
+-msgstr "błędna liczba rekordów b-drzewa (%u, min=%u, max=%u) w bloku inobt %u/%u\n"
++msgid "space reservation failed (%d), filesystem may be out of space\n"
++msgstr "nie udało się zarezerwować miejsca (%d), może brakować miejsca w systemie plików\n"
+-#: .././db/check.c:4486 .././db/frag.c:489
++#: .././repair/phase6.c:1148 .././repair/phase6.c:1192
++#: .././repair/phase6.c:1248
+ #, c-format
+-msgid "can't read inode block %u/%u\n"
+-msgstr "nie można odczytać bloku i-węzła %u/%u\n"
++msgid "name create failed in %s (%d), filesystem may be out of space\n"
++msgstr "tworzenie nazwy nie powiodło się w %s (%d), może brakować miejsca w systemie plików\n"
+-#: .././db/check.c:4504
++#: .././repair/phase6.c:1161
+ #, c-format
+-msgid "ir_freecount/free mismatch, inode chunk %u/%u, freecount %d nfree %d\n"
+-msgstr "niezgodność ir_freecount/free, porcja i-węzłów %u/%u, freecount %d nfree %d\n"
++msgid "creation of .. entry failed (%d), filesystem may be out of space\n"
++msgstr "tworzenie wpisu .. nie powiodło się (%d), może brakować miejsca w systemie plików\n"
+-#: .././db/check.c:4559
++#: .././repair/phase6.c:1170
+ #, c-format
+-msgid "setting inode to %lld for block %u/%u\n"
+-msgstr "ustawianie i-węzła na %lld dla bloku %u/%u\n"
++msgid "bmap finish failed (err - %d), filesystem may be out of space\n"
++msgstr "zakończenie bmap nie powiodło się (błąd %d), może brakować miejsca w systemie plików\n"
+-#: .././db/check.c:4591
++#: .././repair/phase6.c:1211
+ #, c-format
+-msgid "setting inode to %lld for rtblock %llu\n"
+-msgstr "ustawianie i-węzła na %lld dla rtbloku %llu\n"
++msgid "name replace op failed (%d), filesystem may be out of space\n"
++msgstr "operacja zastąpienia nazwy nie powiodła się (%d), może brakować miejsca w systemie plików\n"
+-#: .././db/check.c:4607
++#: .././repair/phase6.c:1218 .././repair/phase6.c:1258
++#: .././repair/phase6.c:1388
+ #, c-format
+-msgid "inode %lld nlink %u %s dir\n"
+-msgstr "i-węzeł %lld nlink %u katalog %s\n"
+-
+-#: .././db/attrset.c:38
+-msgid "[-r|-s|-p|-u] [-n] [-R|-C] [-v n] name"
+-msgstr "[-r|-s|-p|-u] [-n] [-R|-C] [-v n] nazwa"
+-
+-#: .././db/attrset.c:39
+-msgid "set the named attribute on the current inode"
+-msgstr "ustawienie atrybutu o podanej nazwie w bieżącym i-węźle"
+-
+-#: .././db/attrset.c:42
+-msgid "[-r|-s|-p|-u] [-n] name"
+-msgstr "[-r|-s|-p|-u] [-n] nazwa"
++msgid "bmap finish failed (%d), filesystem may be out of space\n"
++msgstr "zakończenie bmap nie powiodło się (%d), może brakować miejsca w systemie plików\n"
+-#: .././db/attrset.c:43
+-msgid "remove the named attribute from the current inode"
+-msgstr "usunięcie atrybutu o podanej nazwie z bieżącego i-węzła"
++#: .././repair/phase6.c:1275
++msgid ", marking entry to be junked\n"
++msgstr ", zaznaczono wpis do wyrzucenia\n"
+-#: .././db/attrset.c:49
+-msgid ""
+-"\n"
+-" The 'attr_set' and 'attr_remove' commands provide interfaces for debugging\n"
+-" the extended attribute allocation and removal code.\n"
+-" Both commands require an attribute name to be specified, and the attr_set\n"
+-" command allows an optional value length (-v) to be provided as well.\n"
+-" There are 4 namespace flags:\n"
+-"  -r -- 'root'\n"
+-"  -u -- 'user'\t\t(default)\n"
+-"  -s -- 'secure'\n"
+-"\n"
+-" For attr_set, these options further define the type of set operation:\n"
+-"  -C -- 'create'    - create attribute, fail if it already exists\n"
+-"  -R -- 'replace'   - replace attribute, fail if it does not exist\n"
+-" The backward compatibility mode 'noattr2' can be emulated (-n) also.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" Polecenia 'attr_set' i 'attr_remove' udostępniają interfejsy do diagnostyki\n"
+-" kodu przydzielania i usuwania rozszerzonych atrybutów.\n"
+-" Oba polecenia wymagają podania nazwy atrybutu, a polecenie attr_set\n"
+-" pozwala dodatkowo podać opcjonalną długość wartości (-v).\n"
+-" Są 4 flagi przestrzeni nazw:\n"
+-"  -r - 'root'\n"
+-"  -u - 'user'   (domyślna)\n"
+-"  -s - 'secure'\n"
+-"\n"
+-" Dla attr_set poniższe opcje określają rodzaj operacji ustawiania:\n"
+-"  -C - 'create'  - utworzenie atrybutu; nie powiedzie się, jeśli już istnieje\n"
+-"  -R - 'replace' - zastąpienie atrybutu; nie powiedzie się, jeśli nie istnieje\n"
+-" Możliwa jest także emulacja trybu kompatybilności wstecznej 'noattr2' (-n).\n"
+-"\n"
++#: .././repair/phase6.c:1279
++msgid ", would junk entry\n"
++msgstr ", wpis zostałby wyrzucony\n"
+-#: .././db/attrset.c:86 .././db/attrset.c:189 .././db/addr.c:72
+-#: .././db/print.c:74 .././db/type.c:102 .././db/write.c:101
+-msgid "no current type\n"
+-msgstr "brak bieżącego typu\n"
++#: .././repair/phase6.c:1313
++#, c-format
++msgid "rebuilding directory inode %<PRIu64>\n"
++msgstr "przebudowywanie i-węzła katalogu %<PRIu64>\n"
+-#: .././db/attrset.c:90 .././db/attrset.c:193
+-msgid "current type is not inode\n"
+-msgstr "bieżący typ nie jest i-węzłem\n"
++#: .././repair/phase6.c:1337
++#, c-format
++msgid "xfs_bmap_last_offset failed -- error - %d\n"
++msgstr "xfs_bmap_last_offset nie powiodło się - błąd %d\n"
+-#: .././db/attrset.c:125
++#: .././repair/phase6.c:1344
+ #, c-format
+-msgid "bad attr_set valuelen %s\n"
+-msgstr "błędna długość wartości %s dla attr_set\n"
++msgid "xfs_bunmapi failed -- error - %d\n"
++msgstr "xfs_bunmapi nie powiodło się - błąd %d\n"
+-#: .././db/attrset.c:131
+-msgid "bad option for attr_set command\n"
+-msgstr "błędna opcja dla polecenia attr_set\n"
++#: .././repair/phase6.c:1380
++#, c-format
++msgid "name create failed in ino %<PRIu64> (%d), filesystem may be out of space\n"
++msgstr "tworzenie nazwy nie powiodło się w i-węźle %<PRIu64> (%d), może brakować miejsca w systemie plików\n"
+-#: .././db/attrset.c:137
+-msgid "too few options for attr_set (no name given)\n"
+-msgstr "za mało opcji dla attr_set (nie podano nazwy)\n"
++#: .././repair/phase6.c:1446
++#, c-format
++msgid "shrink_inode failed inode %<PRIu64> block %u\n"
++msgstr "shrink_inode nie powiodło się dla i-węzła %<PRIu64> bloku %u\n"
+-#: .././db/attrset.c:146
++#: .././repair/phase6.c:1534
+ #, c-format
+-msgid "cannot allocate buffer (%d)\n"
+-msgstr "nie udało się przydzielić bufora (%d)\n"
++msgid "realloc failed in longform_dir2_entry_check_data (%zu bytes)\n"
++msgstr "realloc nie powiodło się w longform_dir2_entry_check_data (%zu bajtów)\n"
+-#: .././db/attrset.c:155 .././db/attrset.c:230
++#: .././repair/phase6.c:1591
+ #, c-format
+-msgid "failed to iget inode %llu\n"
+-msgstr "operacja iget na i-węźle %llu nie powiodła się\n"
++msgid "empty data block %u in directory inode %<PRIu64>: "
++msgstr "pusty blok danych %u w i-węźle katalogu %<PRIu64>: "
+-#: .././db/attrset.c:162
++#: .././repair/phase6.c:1595
+ #, c-format
+-msgid "failed to set attr %s on inode %llu\n"
+-msgstr "ustawianie atrybutu %s w i-węźle %llu nie powiodło się\n"
++msgid "corrupt block %u in directory inode %<PRIu64>: "
++msgstr "uszkodzony blok %u w i-węźle katalogu %<PRIu64>: "
+-#: .././db/attrset.c:217
+-msgid "bad option for attr_remove command\n"
+-msgstr "błędna opcja dla polecenia attr_remove\n"
++#: .././repair/phase6.c:1599
++msgid "junking block\n"
++msgstr "wyrzucono blok\n"
+-#: .././db/attrset.c:223
+-msgid "too few options for attr_remove (no name given)\n"
+-msgstr "za mało opcji dla attr_remove (nie podano nazwy)\n"
++#: .././repair/phase6.c:1602
++msgid "would junk block\n"
++msgstr "blok zostałby wyrzucony\n"
+-#: .././db/attrset.c:236
++#: .././repair/phase6.c:1625
+ #, c-format
+-msgid "failed to remove attr %s from inode %llu\n"
+-msgstr "usunięcie atrybutu %s z i-węzła %llu nie powiodło się\n"
++msgid "bad directory block magic # %#x for directory inode %<PRIu64> block %d: "
++msgstr "błędna liczba magiczna bloku katalogu %#x dla i-węzła katalogu %<PRIu64> bloku %d: "
+-#: .././db/bmap.c:39
+-msgid "[-ad] [block [len]]"
+-msgstr "[-ad] [blok [długość]]"
++#: .././repair/phase6.c:1628
++#, c-format
++msgid "fixing magic # to %#x\n"
++msgstr "poprawiono liczbę magiczną na %#x\n"
+-#: .././db/bmap.c:40
+-msgid "show block map for current file"
+-msgstr "pokazanie mapy bloków dla bieżącego pliku"
++#: .././repair/phase6.c:1632
++#, c-format
++msgid "would fix magic # to %#x\n"
++msgstr "liczba magiczna zostałaby poprawiona na %#x\n"
+-#: .././db/bmap.c:153 .././db/inode.c:390
+-msgid "no current inode\n"
+-msgstr "brak bieżącego i-węzła\n"
++#: .././repair/phase6.c:1653
++#, c-format
++msgid "directory inode %<PRIu64> block %u has consecutive free entries: "
++msgstr "i-węzeł katalogu %<PRIu64> blok %u ma kolejne wolne wpisy: "
+-#: .././db/bmap.c:166
+-msgid "bad option for bmap command\n"
+-msgstr "błędna opcja dla polecenia bmap\n"
++#: .././repair/phase6.c:1656
++msgid "joining together\n"
++msgstr "połączono\n"
++
++#: .././repair/phase6.c:1665
++msgid "would join together\n"
++msgstr "zostałyby połączone\n"
+-#: .././db/bmap.c:183
++#: .././repair/phase6.c:1697
+ #, c-format
+-msgid "bad block number for bmap %s\n"
+-msgstr "błędny numer bloku dla bmap %s\n"
++msgid "entry \"%s\" in directory inode %<PRIu64> points to non-existent inode %<PRIu64>"
++msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> wskazuje na nie istniejący i-węzeł %<PRIu64>"
+-#: .././db/bmap.c:191
++#: .././repair/phase6.c:1714
+ #, c-format
+-msgid "bad len for bmap %s\n"
+-msgstr "błędna długość dla bmap %s\n"
++msgid "entry \"%s\" in directory inode %<PRIu64> points to free inode %<PRIu64>"
++msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> wskazuje na wolny i-węzeł %<PRIu64>"
+-#: .././db/bmap.c:214
++#: .././repair/phase6.c:1732 .././repair/phase6.c:2530
+ #, c-format
+-msgid "%s offset %lld startblock %llu (%u/%u) count %llu flag %u\n"
+-msgstr "%s oofset %lld blok-pocz %llu (%u/%u) liczba %llu flaga %u\n"
++msgid "%s (ino %<PRIu64>) in root (%<PRIu64>) is not a directory"
++msgstr "%s (i-węzeł %<PRIu64>) w katalogu głównym (%<PRIu64>) nie jest katalogiem"
+-#: .././db/addr.c:35
+-msgid "[field-expression]"
+-msgstr "[wyrażenie-pól]"
++#: .././repair/phase6.c:1754 .././repair/phase6.c:2552
++#, c-format
++msgid "entry \"%s\" (ino %<PRIu64>) in dir %<PRIu64> is a duplicate name"
++msgstr "wpis \"%s\" (i-węzeł %<PRIu64>) w katalogu %<PRIu64> jest powtórzoną nazwą"
+-#: .././db/addr.c:36
+-msgid "set current address"
+-msgstr "ustawienie bieżącego adresu"
++#: .././repair/phase6.c:1785
++#, c-format
++msgid "entry \"%s\" (ino %<PRIu64>) in dir %<PRIu64> is not in the the first block"
++msgstr "wpis \"%s\" (i-węzeł %<PRIu64>) w katalogu %<PRIu64> nie jest w pierwszym bloku"
+-#: .././db/addr.c:42
+-msgid ""
+-"\n"
+-" 'addr' uses the given field to set the filesystem address and type\n"
+-"\n"
+-" Examples:\n"
+-"\n"
+-" sb\n"
+-" a rootino - set the type to inode and set position to the root inode\n"
+-" a u.bmx[0].startblock (for inode with blockmap)\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" 'addr' wykorzystuje podane pole do ustawienia adresu w systemie plików i typu\n"
+-"\n"
+-" Przykłady:\n"
+-"\n"
+-" sb\n"
+-" a rootino - ustawienie typu na i-węzeł i pozycji na i-węzeł główny\n"
+-" a u.bmx[0].startblock (dla i-węzła z mapą bloków)\n"
+-"\n"
++#: .././repair/phase6.c:1811
++#, c-format
++msgid "entry \"%s\" in dir %<PRIu64> is not the first entry"
++msgstr "wpis \"%s\" w katalogu %<PRIu64> nie jest pierwszym wpisem"
+-#: .././db/addr.c:82
++#: .././repair/phase6.c:1837 .././repair/phase6.c:2621
+ #, c-format
+-msgid "no fields for type %s\n"
+-msgstr "brak pól dla typu %s\n"
++msgid "would fix ftype mismatch (%d/%d) in directory/child inode %<PRIu64>/%<PRIu64>\n"
++msgstr "niezgodność ftype (%d/%d) w i-węźle katalogu/potomnym %<PRIu64>/%<PRIu64> zostałaby poprawiona\n"
+-#: .././db/addr.c:95
+-msgid "array not allowed for addr command\n"
+-msgstr "tablica nie jest dozwolona dla polecenia addr\n"
++#: .././repair/phase6.c:1842 .././repair/phase6.c:2626
++#, c-format
++msgid "fixing ftype mismatch (%d/%d) in directory/child inode %<PRIu64>/%<PRIu64>\n"
++msgstr "niezgodność ftype (%d/%d) w i-węźle katalogu/potomnym %<PRIu64>/%<PRIu64> zostanie poprawiona\n"
+-#: .././db/addr.c:105
++#: .././repair/phase6.c:1875
+ #, c-format
+-msgid "no next type for field %s\n"
+-msgstr "brak następnego typu dla pola %s\n"
++msgid "entry \"%s\" in dir %<PRIu64> points to an already connected directory inode %<PRIu64>\n"
++msgstr "wpis \"%s\" w katalogu %<PRIu64> wskazuje na już podłączony i-węzeł katalogu %<PRIu64>\n"
+-#: .././db/addr.c:112
++#: .././repair/phase6.c:1884 .././repair/phase6.c:2590
+ #, c-format
+-msgid "no addr function for field %s (type %s)\n"
+-msgstr "brak funkcji addr dla pola %s (typu %s)\n"
++msgid "entry \"%s\" in dir ino %<PRIu64> doesn't have a .. entry, will set it in ino %<PRIu64>.\n"
++msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> nie ma wpisu .., zostanie ustawiony w i-węźle %<PRIu64>.\n"
+-#: .././db/agf.c:35 .././db/agfl.c:36 .././db/agi.c:35 .././db/sb.c:42
+-msgid "[agno]"
+-msgstr "[agno]"
+-
+-#: .././db/agf.c:36
+-msgid "set address to agf header"
+-msgstr "ustawienie adresu na nagłówek agf"
+-
+-#: .././db/agf.c:79
+-msgid ""
+-"\n"
+-" set allocation group free block list\n"
+-"\n"
+-" Example:\n"
+-"\n"
+-" agf 2 - move location to AGF in 2nd filesystem allocation group\n"
+-"\n"
+-" Located in the second sector of each allocation group, the AGF\n"
+-" contains the root of two different freespace btrees:\n"
+-" The 'cnt' btree keeps track freespace indexed on section size.\n"
+-" The 'bno' btree tracks sections of freespace indexed on block number.\n"
+-msgstr ""
+-"\n"
+-" ustawienie listy wolnych bloków grupy alokacji\n"
+-"\n"
+-" Przykład:\n"
+-"\n"
+-" agf 2 - zmiana pozycji na AGF w 2. grupie alokacji systemu plików\n"
+-"\n"
+-" Położony w drugim sektorze każdej grupy alokacji AGF zawiera korzeń\n"
+-" dwóch różnych b-drzew wolnej przestrzeni:\n"
+-" b-drzewo 'cnt' śledzi wolne miejsce indeksowane rozmiarem sekcji\n"
+-" b-drzewo 'bno' śledzi sekcje wolnego miejsca indeksowane numerem bloku.\n"
++#: .././repair/phase6.c:1894
++#, c-format
++msgid "entry \"%s\" in dir inode %<PRIu64> inconsistent with .. value (%<PRIu64>) in ino %<PRIu64>\n"
++msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> niespójny z wartością .. (%<PRIu64>) w i-węźle %<PRIu64>\n"
+-#: .././db/agf.c:104 .././db/agfl.c:90 .././db/agi.c:89 .././db/sb.c:151
++#: .././repair/phase6.c:1906
+ #, c-format
+-msgid "bad allocation group number %s\n"
+-msgstr "błędny numer grupy alokacji %s\n"
++msgid "\twill clear entry \"%s\"\n"
++msgstr "\twpis \"%s\" zostanie wyczyszczony\n"
+-#: .././db/agfl.c:37
+-msgid "set address to agfl block"
+-msgstr "ustawienie adresu na blok agfl"
++#: .././repair/phase6.c:1909
++#, c-format
++msgid "\twould clear entry \"%s\"\n"
++msgstr "\twpis \"%s\" zostałby wyczyszczony\n"
+-#: .././db/agfl.c:63
+-msgid ""
+-"\n"
+-" set allocation group freelist\n"
+-"\n"
+-" Example:\n"
+-"\n"
+-" agfl 5\n"
+-" Located in the fourth sector of each allocation group,\n"
+-" the agfl freelist for internal btree space allocation is maintained\n"
+-" for each allocation group.  This acts as a reserved pool of space\n"
+-" separate from the general filesystem freespace (not used for user data).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" ustawienie listy wolnego miejsca grupy alokacji\n"
+-"\n"
+-" Przykład:\n"
+-"\n"
+-" agfl 5\n"
+-" Położona w 4. sektorze każdej grupy alokacji lista wolnego miejsca agfl\n"
+-" służąca do wewnętrznego przydzielania miejsca dla b-drzew jest utrzymywana\n"
+-" dla każdej grupy alokacji. Działa jako zarezerwowana pula miejsca oddzielona\n"
+-" od ogólnego wolnego miejsca w systemie plików (nie używana dla danych\n"
+-" użytkownika).\n"
+-"\n"
++#: .././repair/phase6.c:1956
++#, c-format
++msgid "can't read block %u for directory inode %<PRIu64>, error %d\n"
++msgstr "nie można odczytać bloku %u dla i-węzła katalogu %<PRIu64>, błąd %d\n"
+-#: .././db/agi.c:36
+-msgid "set address to agi header"
+-msgstr "ustawienie adresu na nagłówek agi"
++#: .././repair/phase6.c:1974 .././repair/phase6.c:2074
++#, c-format
++msgid "leaf block %u for directory inode %<PRIu64> bad header\n"
++msgstr "błędny nagłówek bloku liścia %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/agi.c:64
+-msgid ""
+-"\n"
+-" set allocation group inode btree\n"
+-"\n"
+-" Example:\n"
+-"\n"
+-" agi 3 (set location to 3rd allocation group inode btree and type to 'agi')\n"
+-"\n"
+-" Located in the 3rd 512 byte block of each allocation group,\n"
+-" the agi inode btree tracks all used/free inodes in the allocation group.\n"
+-" Inodes are allocated in 16k 'chunks', each btree entry tracks a 'chunk'.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" ustawienie b-drzewa i-węzła grupy alokacji\n"
+-"\n"
+-" Przykład:\n"
+-"\n"
+-" agi 3 (ustawienie położenia na b-drzewo i-węzła 3. grupy alokacji i typu na 'agi')\n"
+-"\n"
+-" Położone w 3. 512-bajtowym bloku każdej grupy alokacji, b-drzewo i-węzła agi\n"
+-" śledzi wszystkie używane i wolne i-węzły w grupie alokacji.\n"
+-" I-węzły są przydzielane w 16k porcjach (chunk), każdy wpis b-drzewa śledzi\n"
+-" jedną.\n"
+-"\n"
++#: .././repair/phase6.c:1991
++#, c-format
++msgid "leaf block %u for directory inode %<PRIu64> bad tail\n"
++msgstr "błędna końcówka bloku liścia %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/block.c:43 .././db/block.c:49
+-msgid "filoff"
+-msgstr "filoff"
++#: .././repair/phase6.c:2045
++#, c-format
++msgid "can't read leaf block %u for directory inode %<PRIu64>, error %d\n"
++msgstr "nie można odczytać bloku liścia %u dla i-węzła katalogu %<PRIu64>, błąd %d\n"
+-#: .././db/block.c:44
+-msgid "set address to file offset (attr fork)"
+-msgstr "ustawienie adresu na offset w pliku (gałąź atrybutów)"
++#: .././repair/phase6.c:2060
++#, c-format
++msgid "unknown magic number %#x for block %u in directory inode %<PRIu64>\n"
++msgstr "nieznana liczba magiczna %#x dla bloku %u w i-węźle katalogu %<PRIu64>\n"
+-#: .././db/block.c:46
+-msgid "[d]"
+-msgstr "[d]"
++#: .././repair/phase6.c:2099
++#, c-format
++msgid "can't read freespace block %u for directory inode %<PRIu64>, error %d\n"
++msgstr "nie można odczytać bloku wolnego miejsca %u dla i-węzła katalogu %<PRIu64>, błąd %d\n"
+-#: .././db/block.c:47
+-msgid "set address to daddr value"
+-msgstr "ustawienie adresu na wartość daddr"
++#: .././repair/phase6.c:2114
++#, c-format
++msgid "free block %u for directory inode %<PRIu64> bad header\n"
++msgstr "błędny nagłówek wolnego bloku %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/block.c:50
+-msgid "set address to file offset (data fork)"
+-msgstr "ustawienie adresu na offset w pliku (gałąź danych)"
++#: .././repair/phase6.c:2124
++#, c-format
++msgid "free block %u entry %i for directory ino %<PRIu64> bad\n"
++msgstr "błędny wpis wolnego bloku %u numer %i dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/block.c:52
+-msgid "[fsb]"
+-msgstr "[fsb]"
++#: .././repair/phase6.c:2134
++#, c-format
++msgid "free block %u for directory inode %<PRIu64> bad nused\n"
++msgstr "błędna liczba nused w wolnym bloku %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/block.c:53
+-msgid "set address to fsblock value"
+-msgstr "ustawienie adresu na wartość fsblock"
++#: .././repair/phase6.c:2145
++#, c-format
++msgid "missing freetab entry %u for directory inode %<PRIu64>\n"
++msgstr "brak wpisu freetab %u dla i-węzła katalogu %<PRIu64>\n"
+-#: .././db/block.c:59
+-msgid ""
+-"\n"
+-" Example:\n"
+-"\n"
+-" 'ablock 23' - sets the file position to the 23rd filesystem block in\n"
+-" the inode's attribute fork.  The filesystem block size is specified in\n"
+-" the superblock.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" Przykład:\n"
+-"\n"
+-" 'ablock 23' ustawia pozycję w pliku na 23. blok systemu plików w gałęzi\n"
+-" atrybutów i-węzła. Rozmiar bloku systemu plików jest określony w superbloku.\n"
+-"\n"
++#: .././repair/phase6.c:2184
++#, c-format
++msgid "malloc failed in longform_dir2_entry_check (%<PRId64> bytes)\n"
++msgstr "malloc nie powiodło się w longform_dir2_entry_check (%<PRId64> bajtów)\n"
+-#: .././db/block.c:82 .././db/block.c:177
++#: .././repair/phase6.c:2217
+ #, c-format
+-msgid "bad block number %s\n"
+-msgstr "błędny numer bloku %s\n"
++msgid "realloc failed in longform_dir2_entry_check (%zu bytes)\n"
++msgstr "realloc nie powiodło się w longform_dir2_entry_check (%zu bajtów)\n"
+-#: .././db/block.c:90
+-msgid "no attribute data for file\n"
+-msgstr "brak danych atrybutów dla pliku\n"
++#: .././repair/phase6.c:2229
++#, c-format
++msgid "can't read data block %u for directory inode %<PRIu64> error %d\n"
++msgstr "nie można odczytać bloku danych %u dla i-węzła katalogu %<PRIu64>, błąd %d\n"
+-#: .././db/block.c:96
+-msgid "file attr block is unmapped\n"
+-msgstr "blok atrybutów pliku nie ma odwzorowania\n"
++#: .././repair/phase6.c:2322
++msgid "would junk entry\n"
++msgstr "wpis zostałby wyrzucony\n"
+-#: .././db/block.c:119
+-msgid ""
+-"\n"
+-" Example:\n"
+-"\n"
+-" 'daddr 102' - sets position to the 102nd absolute disk block\n"
+-" (512 byte block).\n"
+-msgstr ""
+-"\n"
+-" Przykład:\n"
+-"\n"
+-" 'daddr 102' ustawia pozycję na 102. (bezwzględnie) blok dysku\n"
+-" (blok 512-bajtowy).\n"
++#: .././repair/phase6.c:2346
++msgid "junking entry\n"
++msgstr "wyrzucono wpis\n"
+-#: .././db/block.c:135
++#: .././repair/phase6.c:2392
+ #, c-format
+-msgid "current daddr is %lld\n"
+-msgstr "bieżący daddr to %lld\n"
++msgid "would set .. in sf dir inode %<PRIu64> to %<PRIu64>\n"
++msgstr "wpis .. w i-węźle katalogu sf %<PRIu64> zostałby ustawiony na %<PRIu64>\n"
+-#: .././db/block.c:141
++#: .././repair/phase6.c:2396
+ #, c-format
+-msgid "bad daddr %s\n"
+-msgstr "błędny daddr %s\n"
++msgid "setting .. in sf dir inode %<PRIu64> to %<PRIu64>\n"
++msgstr "ustawiono wpis .. w i-węźle katalogu sf %<PRIu64> na %<PRIu64>\n"
+-#: .././db/block.c:153
+-msgid ""
+-"\n"
+-" Example:\n"
+-"\n"
+-" 'dblock 23' - sets the file position to the 23rd filesystem block in\n"
+-" the inode's data fork.  The filesystem block size is specified in the\n"
+-" superblock.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" Przykład:\n"
+-"\n"
+-" 'dblock 23' ustawia pozycję w pliku na 23. blok systemu plików w gałęzi\n"
+-" danych i-węzła. Rozmiar bloku systemu plików jest określony w superbloku.\n"
+-"\n"
++#: .././repair/phase6.c:2497
++#, c-format
++msgid "entry \"%s\" in shortform directory %<PRIu64> references non-existent inode %<PRIu64>\n"
++msgstr "wpis \"%s\" w krótkim katalogu %<PRIu64> odwołuje się do nie istniejącego i-węzła %<PRIu64>\n"
+-#: .././db/block.c:185
+-msgid "no type for file data\n"
+-msgstr "brak typu dla danych pliku\n"
++#: .././repair/phase6.c:2514
++#, c-format
++msgid "entry \"%s\" in shortform directory inode %<PRIu64> points to free inode %<PRIu64>\n"
++msgstr "wpis \"%s\" w i-węźle krótkiego katalogu %<PRIu64> wskazuje na wolny i-węzeł %<PRIu64>\n"
+-#: .././db/block.c:192
+-msgid "file data block is unmapped\n"
+-msgstr "blok danych plików nie ma odwzorowania\n"
++#: .././repair/phase6.c:2576
++#, c-format
++msgid "entry \"%s\" in directory inode %<PRIu64> references already connected inode %<PRIu64>.\n"
++msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> odwołuje się do już podłączonego i-węzła %<PRIu64>.\n"
+-#: .././db/block.c:210
+-msgid ""
+-"\n"
+-" Example:\n"
+-"\n"
+-" 'fsblock 1023' - sets the file position to the 1023rd filesystem block.\n"
+-" The filesystem block size is specified in the superblock and set during\n"
+-" mkfs time.  Offset is absolute (not AG relative).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" Przykład:\n"
+-"\n"
+-" 'fsblock 1023' ustawia pozycję w pliku na 1023. blok systemu plików.\n"
+-" Rozmiar bloku systemu plików jest określony w superbloku i ustawiany w\n"
+-" trakcie wykonywania mkfs. Offset jest bezwzględny (nie względem AG).\n"
+-"\n"
++#: .././repair/phase6.c:2599
++#, c-format
++msgid "entry \"%s\" in directory inode %<PRIu64> not consistent with .. value (%<PRIu64>) in inode %<PRIu64>,\n"
++msgstr "wpis \"%s\" w i-węźle katalogu %<PRIu64> niespójny z wartością .. (%<PRIu64>) w i-węźle %<PRIu64>,\n"
+-#: .././db/block.c:229
++#: .././repair/phase6.c:2656
+ #, c-format
+-msgid "current fsblock is %lld\n"
+-msgstr "bieżący fsblock to %lld\n"
+-
+-#: .././db/block.c:235 .././db/block.c:241
+-#, c-format
+-msgid "bad fsblock %s\n"
+-msgstr "błędny fsblock %s\n"
++msgid "would fix i8count in inode %<PRIu64>\n"
++msgstr "i8count w i-węźle %<PRIu64> zostałoby poprawione\n"
+-#: .././db/command.c:86
++#: .././repair/phase6.c:2671
+ #, c-format
+-msgid "bad argument count %d to %s, expected "
+-msgstr "błędny argument liczby %d dla %s, oczekiwano "
++msgid "fixing i8count in inode %<PRIu64>\n"
++msgstr "poprawiono i8count w i-węźle %<PRIu64>\n"
+-#: .././db/command.c:88
++#: .././repair/phase6.c:2691
+ #, c-format
+-msgid "at least %d"
+-msgstr "przynajmniej %d"
++msgid "setting size to %<PRId64> bytes to reflect junked entries\n"
++msgstr "ustawiono rozmiar na %<PRId64>, aby odzwierciedlał wyrzucone wpisy\n"
+-#: .././db/command.c:92
++#: .././repair/phase6.c:2730 .././repair/phase6.c:2734 .././repair/phase7.c:84
+ #, c-format
+-msgid "between %d and %d"
+-msgstr "od %d do %d"
+-
+-#: .././db/command.c:93
+-msgid " arguments\n"
+-msgstr " argumentów\n"
+-
+-#: .././db/debug.c:27
+-msgid "[flagbits]"
+-msgstr "[bity flag]"
++msgid "couldn't map inode %<PRIu64>, err = %d\n"
++msgstr "nie udało się odwzorować i-węzła %<PRIu64>, błąd = %d\n"
+-#: .././db/debug.c:28
+-msgid "set debug option bits"
+-msgstr "ustawienie bitów opcji diagnostycznych"
++#: .././repair/phase6.c:2840
++msgid "recreating root directory .. entry\n"
++msgstr "ponowne tworzenie wpisu .. głównego katalogu\n"
+-#: .././db/debug.c:42
++#: .././repair/phase6.c:2859
+ #, c-format
+-msgid "bad value for debug %s\n"
+-msgstr "błędna wartość diagnostyki %s\n"
+-
+-#: .././db/dquot.c:37
+-msgid "[projid|gid|uid]"
+-msgstr "[projid|gid|uid]"
+-
+-#: .././db/dquot.c:38
+-msgid "set current address to project, group or user quota block"
+-msgstr "ustawienie bieżącego adresu na blok limitu projektu, grupy lub użytkownika"
++msgid "can't make \"..\" entry in root inode %<PRIu64>, createname error %d\n"
++msgstr "nie można utworzyć wpisu \"..\" w i-węźle głównego katalogu %<PRIu64>, błąd createname %d\n"
+-#: .././db/dquot.c:124
+-msgid "bad option for dquot command\n"
+-msgstr "błędna opcja dla polecenia dquot\n"
++#: .././repair/phase6.c:2870
++msgid "would recreate root directory .. entry\n"
++msgstr "wpis .. głównego katalogu zostałby ponownie utworzony\n"
+-#: .././db/dquot.c:128
+-msgid "project"
+-msgstr "projekt"
++#: .././repair/phase6.c:2894
++#, c-format
++msgid "would create missing \".\" entry in dir ino %<PRIu64>\n"
++msgstr "brakujący wpis \".\" w i-węźle katalogu %<PRIu64> zostałby utworzony\n"
+-#: .././db/dquot.c:128
+-msgid "group"
+-msgstr "grupę"
++#: .././repair/phase6.c:2901
++#, c-format
++msgid "creating missing \".\" entry in dir ino %<PRIu64>\n"
++msgstr "tworzenie brakującego wpisu \".\" w i-węźle katalogu %<PRIu64>\n"
+-#: .././db/dquot.c:128
+-msgid "user"
+-msgstr "użytkownika"
++#: .././repair/phase6.c:2921
++#, c-format
++msgid "can't make \".\" entry in dir ino %<PRIu64>, createname error %d\n"
++msgstr "nie można utworzyć wpisu \".\" w i-węźle katalogu %<PRIu64>, błąd createname %d\n"
+-#: .././db/dquot.c:130
++#: .././repair/phase6.c:3018
+ #, c-format
+-msgid "dquot command requires one %s id argument\n"
+-msgstr "polecenie dquot wymaga jednego argumentu identyfikującego %s\n"
++msgid "disconnected dir inode %<PRIu64>, "
++msgstr "odłączony i-węzeł katalogu %<PRIu64>, "
+-#: .././db/dquot.c:137
++#: .././repair/phase6.c:3020
+ #, c-format
+-msgid "no %s quota inode present\n"
+-msgstr "i-węzeł limitów na %s nie jest dostępny\n"
++msgid "disconnected inode %<PRIu64>, "
++msgstr "odłączony i-węzeł %<PRIu64>, "
+-#: .././db/dquot.c:142
++#: .././repair/phase6.c:3024
+ #, c-format
+-msgid "bad %s id for dquot %s\n"
+-msgstr "błędna liczba identyfikująca %s dla dquot %s\n"
++msgid "moving to %s\n"
++msgstr "przeniesiono do %s\n"
+-#: .././db/dquot.c:154
++#: .././repair/phase6.c:3027
+ #, c-format
+-msgid "no %s quota data for id %d\n"
+-msgstr "brak danych limitów na %s dla id %d\n"
++msgid "would move to %s\n"
++msgstr "zostałby przeniesiony do %s\n"
+-#: .././db/echo.c:27
+-msgid "[args]..."
+-msgstr "[argumenty]..."
++#: .././repair/phase6.c:3112
++msgid "Phase 6 - check inode connectivity...\n"
++msgstr "Faza 6 - sprawdzanie łączności i-węzłów...\n"
+-#: .././db/echo.c:28
+-msgid "echo arguments"
+-msgstr "wypisanie argumentów"
++#: .././repair/phase6.c:3126
++msgid "reinitializing root directory\n"
++msgstr "ponowne inicjowanie głównego katalogu\n"
+-#: .././db/faddr.c:40 .././db/faddr.c:63
+-msgid "no current allocation group, cannot set new addr\n"
+-msgstr "brak bieżącej grupy alokacji, nie można ustawić nowego adresu\n"
++#: .././repair/phase6.c:3131
++msgid "would reinitialize root directory\n"
++msgstr "główny katalog zostałby ponownie zainicjowany\n"
+-#: .././db/faddr.c:45 .././db/faddr.c:117 .././db/faddr.c:148
+-#: .././db/faddr.c:180 .././db/faddr.c:202 .././db/faddr.c:232
+-#: .././db/faddr.c:262 .././db/faddr.c:316 .././db/faddr.c:335
+-msgid "null block number, cannot set new addr\n"
+-msgstr "pusty numer bloku, nie można ustawić nowego adresu\n"
++#: .././repair/phase6.c:3137
++msgid "reinitializing realtime bitmap inode\n"
++msgstr "ponowne inicjowanie i-węzła bitmapy realtime\n"
+-#: .././db/faddr.c:68 .././db/faddr.c:353 .././db/faddr.c:371
+-#: .././db/faddr.c:389
+-msgid "null inode number, cannot set new addr\n"
+-msgstr "pusty numer i-węzła, nie można ustawić nowego adresu\n"
++#: .././repair/phase6.c:3141
++msgid "would reinitialize realtime bitmap inode\n"
++msgstr "i-węzeł bitmapy realtime zostałby ponownie zainicjowany\n"
+-#: .././db/faddr.c:88
+-msgid "null attribute block number, cannot set new addr\n"
+-msgstr "pusty number bloku atrybutów, nie można ustawić nowego adresu\n"
++#: .././repair/phase6.c:3147
++msgid "reinitializing realtime summary inode\n"
++msgstr "ponowne inicjowanie i-węzła opisu realtime\n"
+-#: .././db/faddr.c:94
+-msgid "attribute block is unmapped\n"
+-msgstr "blok atrybutów jest nieodwzorowany\n"
++#: .././repair/phase6.c:3151
++msgid "would reinitialize realtime summary inode\n"
++msgstr "i-węzeł opisu realtime zostałby ponownie zainicjowany\n"
+-#: .././db/faddr.c:123 .././db/faddr.c:155 .././db/faddr.c:208
+-#: .././db/faddr.c:239
+-msgid "file block is unmapped\n"
+-msgstr "blok pliku jest nieodwzorowany\n"
++#: .././repair/phase6.c:3157
++msgid "        - resetting contents of realtime bitmap and summary inodes\n"
++msgstr "        - przestawianie zawartości i-węzłów bitmapy i opisu realtime\n"
+-#: .././db/faddr.c:285
+-msgid "null directory block number, cannot set new addr\n"
+-msgstr "pusty numer bloku katalogu, nie można ustawić nowego adresu\n"
++#: .././repair/phase6.c:3160 .././repair/phase6.c:3165
++msgid "Warning:  realtime bitmap may be inconsistent\n"
++msgstr "Uwaga: bitmapa realtime może być niespójna\n"
+-#: .././db/faddr.c:292
+-msgid "directory block is unmapped\n"
+-msgstr "blok katalogu jest nieodwzorowany\n"
++#: .././repair/phase6.c:3171
++msgid "        - traversing filesystem ...\n"
++msgstr "        - przechodzenie systemu plików...\n"
+-#: .././db/flist.c:149
+-#, c-format
+-msgid "field %s not found\n"
+-msgstr "nie znaleziono pola %s\n"
++#: .././repair/phase6.c:3194
++msgid "        - traversal finished ...\n"
++msgstr "        - przechodzenie zakończone...\n"
+-#: .././db/flist.c:159
++#: .././repair/phase6.c:3195
+ #, c-format
+-msgid "no elements in %s\n"
+-msgstr "brak elementów w %s\n"
++msgid "        - moving disconnected inodes to %s ...\n"
++msgstr "        - przenoszenie odłączonych i-węzłów do %s...\n"
+-#: .././db/flist.c:165
++#: .././repair/phase7.c:43
+ #, c-format
+-msgid "indices %d-%d for field %s out of range %d-%d\n"
+-msgstr "indeksy %d-%d dla pola %s są poza zakresem %d-%d\n"
++msgid "resetting inode %<PRIu64> nlinks from %u to %u\n"
++msgstr "przestawiono nlinks i-węzła %<PRIu64> z %u na %u\n"
+-#: .././db/flist.c:173
++#: .././repair/phase7.c:49
+ #, c-format
+-msgid "index %d for field %s out of range %d-%d\n"
+-msgstr "indeks %d dla pola %s jest poza zakresem %d-%d\n"
++msgid "nlinks %u will overflow v1 ino, ino %<PRIu64> will be converted to version 2\n"
++msgstr "nlinks %u przepełni i-węzeł v1, i-węzeł %<PRIu64> będzie skonwertowany do wersji 2\n"
+-#: .././db/flist.c:187
++#: .././repair/phase7.c:56
+ #, c-format
+-msgid "field %s is not an array\n"
+-msgstr "pole %s nie jest tablicą\n"
++msgid "would have reset inode %<PRIu64> nlinks from %u to %u\n"
++msgstr "nlinks i-węzła %<PRIu64> zostałoby przestawione z %u na %u\n"
+-#: .././db/flist.c:200
++#: .././repair/phase7.c:88
+ #, c-format
+-msgid "field %s has no subfields\n"
+-msgstr "pole %s nie ma podpól\n"
++msgid "couldn't map inode %<PRIu64>, err = %d, can't compare link counts\n"
++msgstr "nie udało się odwzorować i-węzła %<PRIu64>, błąd %d, nie można porównać liczby dowiązań\n"
+-#: .././db/flist.c:220
+-#, c-format
+-msgid "fl@%p:\n"
+-msgstr "fl@%p:\n"
++#: .././repair/phase7.c:127
++msgid "Phase 7 - verify and correct link counts...\n"
++msgstr "Faza 7 - sprawdzanie i poprawianie liczby dowiązań...\n"
+-#: .././db/flist.c:221
+-#, c-format
+-msgid "\tname=%s, fld=%p, child=%p, sibling=%p\n"
+-msgstr "\tnazwa=%s, fld=%p, child=%p, sibling=%p\n"
++#: .././repair/phase7.c:129
++msgid "Phase 7 - verify link counts...\n"
++msgstr "Faza 7 - sprawdzanie liczby dowiązań...\n"
+-#: .././db/flist.c:223
++#: .././repair/prefetch.c:532
++msgid "prefetch corruption\n"
++msgstr "uszkodzenie prefetch\n"
++
++#: .././repair/prefetch.c:692 .././repair/prefetch.c:795
+ #, c-format
+-msgid "\tlow=%d, high=%d, flags=%d (%s%s), offset=%d\n"
+-msgstr "\tlow=%d, high=%d, flagi=%d (%s%s), offset=%d\n"
++msgid "failed to create prefetch thread: %s\n"
++msgstr "nie udało się utworzyć wątku prefetch: %s\n"
+-#: .././db/flist.c:225
+-msgid "oklow "
+-msgstr "oklow "
++#: .././repair/prefetch.c:832
++msgid "failed to initialize prefetch mutex\n"
++msgstr "nie udało się zainicjować muteksu prefetch\n"
+-#: .././db/flist.c:226
+-msgid "okhigh"
+-msgstr "okhigh"
++#: .././repair/prefetch.c:834 .././repair/prefetch.c:836
++msgid "failed to initialize prefetch cond var\n"
++msgstr "nie udało się zainicjować zmiennej warunkowej prefetch\n"
+-#: .././db/flist.c:227
+-#, c-format
+-msgid "\tfld->name=%s, fld->ftyp=%d (%s)\n"
+-msgstr "\tfld->name=%s, fld->ftyp=%d (%s)\n"
++#: .././repair/progress.c:16
++msgid "inodes"
++msgstr "i-węzłów"
+-#: .././db/flist.c:230
+-#, c-format
+-msgid "\tfld->flags=%d (%s%s%s%s%s)\n"
+-msgstr "\tfld->flags=%d (%s%s%s%s%s)\n"
++#: .././repair/progress.c:20
++msgid "directories"
++msgstr "katalogów"
+-#: .././db/flist.c:322
+-#, c-format
+-msgid "bad syntax in field name %s\n"
+-msgstr "błędna składnia w nazwie pola %s\n"
++#: .././repair/progress.c:22
++msgid "allocation groups"
++msgstr "grup alokacji"
+-#: .././db/flist.c:378
++#: .././repair/progress.c:24
++msgid "AGI unlinked buckets"
++msgstr "odłączonych kubełków AGI"
++
++#: .././repair/progress.c:28
++msgid "realtime extents"
++msgstr "ekstentów realtime"
++
++#: .././repair/progress.c:30
++msgid "unlinked lists"
++msgstr "odłączonych list"
++
++#: .././repair/progress.c:37
+ #, c-format
+-msgid "missing closing quote %s\n"
+-msgstr "brak cudzysłowu zamykającego %s\n"
++msgid "        - %02d:%02d:%02d: %s - %llu of %llu %s done\n"
++msgstr "        - %02d:%02d:%02d: %s - sprawdzono %llu z %llu %s\n"
+-#: .././db/flist.c:395
++#: .././repair/progress.c:39
+ #, c-format
+-msgid "bad character in field %s\n"
+-msgstr "błędny znak w polu %s\n"
++msgid "        - %02d:%02d:%02d: %s - %llu %s done\n"
++msgstr "        - %02d:%02d:%02d: %s - sprawdzono %llu %s\n"
+-#: .././db/fprint.c:98
+-msgid "null"
+-msgstr "nic"
++#: .././repair/progress.c:51
++msgid "scanning filesystem freespace"
++msgstr "przeszukiwanie wolnego miejsca w systemie plików"
+-#: .././db/hash.c:30
+-msgid "string"
+-msgstr "łańcuch"
++#: .././repair/progress.c:53
++msgid "scanning agi unlinked lists"
++msgstr "przeszukiwanie odłączonych list agi"
+-#: .././db/hash.c:31
+-msgid "calculate hash value"
+-msgstr "obliczenie wartości skrótu"
++#: .././repair/progress.c:55
++msgid "check uncertain AG inodes"
++msgstr "sprawdzanie niepewnych i-węzłów AG"
+-#: .././db/hash.c:37
+-msgid ""
+-"\n"
+-" 'hash' prints out the calculated hash value for a string using the\n"
+-"directory/attribute code hash function.\n"
+-"\n"
+-" Usage:  \"hash <string>\"\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" 'hash' wypisuje wartość skrótu dla łańcucha obliczoną przy użyciu funkcji\n"
+-" haszującej dla katalogów/atrybutów.\n"
+-"\n"
+-" Składnia: \"hash <łańcuch>\"\n"
+-"\n"
++#: .././repair/progress.c:57
++msgid "process known inodes and inode discovery"
++msgstr "przetwarzanie znanych i-węzłów i rozpoznawanie i-węzłów"
+-#: .././db/help.c:89
+-#, c-format
+-msgid "(or %s) "
+-msgstr "(lub %s) "
++#: .././repair/progress.c:59
++msgid "process newly discovered inodes"
++msgstr "przetwarzanie nowo rozpoznanych i-węzłów"
+-#: .././db/init.c:46
+-#, c-format
+-msgid "Usage: %s [-fFrxV] [-p prog] [-l logdev] [-c cmd]... device\n"
+-msgstr "Składnia: %s [-fFrxV] [-p prog] [-l urz-log] [-c polecenie]... urządzenie\n"
++#: .././repair/progress.c:61
++msgid "setting up duplicate extent list"
++msgstr "tworzenie listy powtórzonych ekstentów"
+-#: .././db/init.c:112
+-msgid ""
+-"\n"
+-"fatal error -- couldn't initialize XFS library\n"
+-msgstr ""
+-"\n"
+-"błąd krytyczny - nie udało się zainicjować biblioteki XFS\n"
++#: .././repair/progress.c:63
++msgid "initialize realtime bitmap"
++msgstr "inicjowanie bitmapy realtime"
+-#: .././db/init.c:118
+-#, c-format
+-msgid "%s: %s is invalid (cannot read first 512 bytes)\n"
+-msgstr "%s: %s jest nieprawidłowy (nie można odczytać pierwszych 512 bajtów)\n"
++#: .././repair/progress.c:65
++msgid "reset realtime bitmaps"
++msgstr "ponowne tworzenie bitmapy realtime"
+-#: .././db/init.c:129
+-#, c-format
+-msgid "%s: %s is not a valid XFS filesystem (unexpected SB magic number 0x%08x)\n"
+-msgstr "%s: %s nie jest poprawnym systemem plików XFS (nieoczekiwana liczba magiczna SB 0x%08x)\n"
++#: .././repair/progress.c:67
++msgid "check for inodes claiming duplicate blocks"
++msgstr "szukanie i-węzłów odwołujących się do powtórzonych bloków"
+-#: .././db/init.c:141
+-#, c-format
+-msgid "%s: device %s unusable (not an XFS filesystem?)\n"
+-msgstr "%s: urządzenie %s nie nadaje się do użycia (to nie jest system plików XFS?)\n"
++#: .././repair/progress.c:69
++msgid "rebuild AG headers and trees"
++msgstr "przebudowywanie nagłówków i drzew AG"
+-#: .././db/input.c:43
+-msgid "source-file"
+-msgstr "plik-źródłowy"
++#: .././repair/progress.c:71
++msgid "traversing filesystem"
++msgstr "przechodzenie systemu plików"
+-#: .././db/input.c:44
+-msgid "get commands from source-file"
+-msgstr "odczyt poleceń z pliku-źródłowego"
++#: .././repair/progress.c:73
++msgid "traversing all unattached subtrees"
++msgstr "przechodzenie wszystkich odłączonych poddrzew"
+-#: .././db/input.c:320
+-#, c-format
+-msgid "can't open %s\n"
+-msgstr "nie można otworzyć %s\n"
++#: .././repair/progress.c:75
++msgid "moving disconnected inodes to lost+found"
++msgstr "przenoszenie odłączonych i-węzłów do lost+found"
+-#: .././db/io.c:46
+-msgid "pop location from the stack"
+-msgstr "odtworzenie pozycji ze stosu"
++#: .././repair/progress.c:77
++msgid "verify and correct link counts"
++msgstr "sprawdzanie i poprawianie liczby dowiązań"
+-#: .././db/io.c:49
+-msgid "push location to the stack"
+-msgstr "zapisanie pozycji na stos"
++#: .././repair/progress.c:79
++msgid "verify link counts"
++msgstr "sprawdzanie liczby dowiązań"
+-#: .././db/io.c:52
+-msgid "view the location stack"
+-msgstr "podejrzenie stosu pozycji"
++#: .././repair/progress.c:118
++msgid "cannot malloc pointer to done vector\n"
++msgstr "nie udało się przydzielić wskaźnika do wektora wykonania\n"
+-#: .././db/io.c:55
+-msgid "move forward to next entry in the position ring"
+-msgstr "przejście na następną pozycję w kręgu"
++#: .././repair/progress.c:135
++msgid "unable to create progress report thread\n"
++msgstr "nie udało się utworzyć wątku raportowania postępu\n"
+-#: .././db/io.c:58
+-msgid "move to the previous location in the position ring"
+-msgstr "przejście na poprzednią pozycję w kręgu"
++#: .././repair/progress.c:178
++msgid "progress_rpt: cannot malloc progress msg buffer\n"
++msgstr "progress_rpt: nie udało się przydzielić bufora komunikatów postępu\n"
+-#: .././db/io.c:61
+-msgid "show position ring or move to a specific entry"
+-msgstr "pokazanie kręgu pozycji lub przejście do określonego wpisu"
++#: .././repair/progress.c:192
++msgid "progress_rpt: cannot create timer\n"
++msgstr "progress_rpt: nie można utworzyć zegara\n"
+-#: .././db/io.c:91
+-#, c-format
+-msgid "can't set block offset to %d\n"
+-msgstr "nie można ustawić offsetu bloku na %d\n"
++#: .././repair/progress.c:195
++msgid "progress_rpt: cannot set timer\n"
++msgstr "progress_rpt: nie można ustawić zegara\n"
+-#: .././db/io.c:104
+-msgid "can't pop anything from I/O stack\n"
+-msgstr "nie można pobrać nic ze stosu we/wy\n"
++#: .././repair/progress.c:219
++msgid "progress_rpt: cannot lock progress mutex\n"
++msgstr "progress_rpt: nie można zablokować muteksu\n"
+-#: .././db/io.c:132
+-msgid ""
+-"\n"
+-" Changes the address and data type to the first entry on the stack.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" Zmiana adresu i typu danych na pierwszy wpis ze stosu.\n"
+-"\n"
++#: .././repair/progress.c:256 .././repair/progress.c:359
++#, c-format
++msgid "%s"
++msgstr "%s"
+-#: .././db/io.c:146
++#: .././repair/progress.c:264
+ #, c-format
+-msgid "\tbyte offset %lld, length %d\n"
+-msgstr "\toffset w bajtach %lld, długość %d\n"
++msgid "\t- %02d:%02d:%02d: Phase %d: elapsed time %s - processed %d %s per minute\n"
++msgstr "\t- %02d:%02d:%02d: Faza %d: miniony czas %s - przetworzono %d %s na minutę\n"
+-#: .././db/io.c:147
++#: .././repair/progress.c:269
+ #, c-format
+-msgid "\tbuffer block %lld (fsbno %lld), %d bb%s\n"
+-msgstr "\tblok bufora %lld (fsbno %lld), %d bb%s\n"
++msgid "\t- %02d:%02d:%02d: Phase %d: %<PRIu64>%% done - estimated remaining time %s\n"
++msgstr "\t- %02d:%02d:%02d: Faza %d: %<PRIu64>%% zrobione - przewidywany pozostały czas %s\n"
+-#: .././db/io.c:151
+-msgid "\tblock map"
+-msgstr "\tmapa bloków"
++#: .././repair/progress.c:277
++msgid "progress_rpt: error unlock msg mutex\n"
++msgstr "progress_rpt: błąd odblokowywania muteksu komunikatów\n"
+-#: .././db/io.c:156
+-#, c-format
+-msgid "\tinode %lld, dir inode %lld, type %s\n"
+-msgstr "\ti-węzeł %lld, i-węzeł katalogu %lld, typ %s\n"
++#: .././repair/progress.c:283
++msgid "cannot delete timer\n"
++msgstr "nie można usunąć zegara\n"
+-#: .././db/io.c:167
+-msgid "no entries in location ring.\n"
+-msgstr "brak wpisów w kręgu pozycji.\n"
++#: .././repair/progress.c:297
++msgid "set_progress_msg: cannot lock progress mutex\n"
++msgstr "set_progress_msg: nie można zablokować mutekstu postępu\n"
+-#: .././db/io.c:171
+-msgid "      type    bblock  bblen    fsbno     inode\n"
+-msgstr "      typ     bblok   bblen    fsbno     i-węzeł\n"
++#: .././repair/progress.c:307
++msgid "set_progress_msg: cannot unlock progress mutex\n"
++msgstr "set_progress_msg: nie można odblokować mutekstu postępu\n"
+-#: .././db/io.c:225
++#: .././repair/progress.c:327
++msgid "print_final_rpt: cannot lock progress mutex\n"
++msgstr "print_final_rpt: nie można zablokować mutekstu postępu\n"
++
++#: .././repair/progress.c:363
++msgid "print_final_rpt: cannot unlock progress mutex\n"
++msgstr "print_final_rpt: nie można odblokować muteksu postępu\n"
++
++#: .././repair/progress.c:412
+ #, c-format
+-msgid "no such command %s\n"
+-msgstr "nieznane polecenie %s\n"
++msgid "%02d:%02d:%02d"
++msgstr "%02d:%02d:%02d"
+-#: .././db/io.c:229
++#: .././repair/progress.c:434
+ #, c-format
+-msgid "no push form allowed for %s\n"
+-msgstr "forma push niedozwolona dla %s\n"
++msgid "%d week"
++msgstr "%d tygodni"
+-#: .././db/io.c:253
+-msgid ""
+-"\n"
+-" Allows you to push the current address and data type on the stack for\n"
+-" later return.  'push' also accepts an additional command to execute after\n"
+-" storing the current address (ex: 'push a rootino' from the superblock).\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" Pozwala zapisać bieżący adres i typ danych na stos w celu późniejszego\n"
+-" powrotu. 'push' akceptuje także dodatkowe polecenie do wykonania po zapisaniu\n"
+-" bieżącego adresu (np. 'push a rootino' z superbloku).\n"
+-"\n"
++#: .././repair/progress.c:435 .././repair/progress.c:445
++#: .././repair/progress.c:461 .././repair/progress.c:479
++#: .././repair/progress.c:494
++msgid "s"
++msgstr " "
+-#: .././db/io.c:269 .././db/io.c:310
+-msgid "ring is empty\n"
+-msgstr "krąg jest pusty\n"
++# XXX: ngettext()
++#: .././repair/progress.c:444
++#, c-format
++msgid "%d day"
++msgstr "%d dni"
+-#: .././db/io.c:273
+-msgid "no further entries\n"
+-msgstr "brak dalszych wpisów\n"
++#: .././repair/progress.c:451 .././repair/progress.c:468
++#: .././repair/progress.c:486 .././repair/progress.c:496
++msgid ", "
++msgstr ", "
+-#: .././db/io.c:293
+-msgid ""
+-"\n"
+-" The 'forward' ('f') command moves to the next location in the position\n"
+-" ring, updating the current position and data type.  If the current location\n"
+-" is the top entry in the ring, then the 'forward' command will have\n"
+-" no effect.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" Polecenie 'forward' ('f') przechodzi do następnej pozycji w kręgu,\n"
+-" uaktualniając bieżącą pozycję i typ danych. Jeśli bieżąca pozycja\n"
+-" jest szczytowym wpisem w kręgu, polecenie nie przyniesie efektu.\n"
+-"\n"
++#: .././repair/progress.c:460
++#, c-format
++msgid "%d hour"
++msgstr "%d godzin"
+-#: .././db/io.c:314
+-msgid "no previous entries\n"
+-msgstr "brak poprzednich wpisów\n"
++#: .././repair/progress.c:478
++#, c-format
++msgid "%d minute"
++msgstr "%d minut"
++
++#: .././repair/progress.c:493
++#, c-format
++msgid "%d second"
++msgstr "%d sekund"
+-#: .././db/io.c:334
++#: .././repair/progress.c:514
++#, c-format
+ msgid ""
+ "\n"
+-" The 'back' ('b') command moves to the previous location in the position\n"
+-" ring, updating the current position and data type.  If the current location\n"
+-" is the last entry in the ring, then the 'back' command will have no effect.\n"
+-"\n"
++"        XFS_REPAIR Summary    %s\n"
+ msgstr ""
+ "\n"
+-" Polecenie 'back' ('b') przechodzi do poprzedniej pozycji w kręgu,\n"
+-" uaktualniając bieżącą pozycję i typ danych. Jeśli bieżąca pozycja\n"
+-" jest ostatnim wpisem w kręgu, polecenie nie przyniesie efektu.\n"
+-"\n"
++"        Podsumowanie XFS_REPAIR %s\n"
++
++#: .././repair/progress.c:516
++msgid "Phase\t\tStart\t\tEnd\t\tDuration\n"
++msgstr "Faza\t\tPoczątek\tKoniec\t\tCzas trwania\n"
+-#: .././db/io.c:357
++#: .././repair/progress.c:521 .././repair/progress.c:524
+ #, c-format
+-msgid "invalid entry: %d\n"
+-msgstr "błędny wpis: %d\n"
++msgid "Phase %d:\tSkipped\n"
++msgstr "Faza %d:\tPominięta\n"
++
++#: .././repair/progress.c:528
++#, c-format
++msgid "Phase %d:\t%02d/%02d %02d:%02d:%02d\t%02d/%02d %02d:%02d:%02d\t%s\n"
++msgstr "Faza %d:\t%02d.%02d %02d:%02d:%02d\t%02d.%02d %02d:%02d:%02d\t%s\n"
+-#: .././db/io.c:374
++#: .././repair/progress.c:534
+ #, c-format
+ msgid ""
+ "\n"
+-" The position ring automatically keeps track of each disk location and\n"
+-" structure type for each change of position you make during your xfs_db\n"
+-" session.  The last %d most recent entries are kept in the ring.\n"
+-"\n"
+-" To display the current list of ring entries type 'ring' by itself on\n"
+-" the command line.  The entry highlighted by an asterisk ('*') is the\n"
+-" current entry.\n"
+-"\n"
+-" To move to another entry in the ring type 'ring <num>' where <num> is\n"
+-" your desired entry from the ring position list.\n"
+-"\n"
+-" You may also use the 'forward' ('f') or 'back' ('b') commands to move\n"
+-" to the previous or next entry in the ring, respectively.\n"
+-"\n"
+-" Note: Unlike the 'stack', 'push' and 'pop' commands, the ring tracks your\n"
+-" location implicitly.  Use the 'push' and 'pop' commands if you wish to\n"
+-" store a specific location explicitly for later return.\n"
+-"\n"
++"Total run time: %s\n"
+ msgstr ""
+ "\n"
+-" Krąg pozycji automatycznie śledzi każde położenie na dysku i typ struktury\n"
+-" dla każdej zmiany pozycji wykonywanej podczas sesji xfs_db. Ostatenie %d\n"
+-" pozycji jest trzymane w kręgu.\n"
+-"\n"
+-" Aby wyświetlić bieżącą listę wpisów w kręgu należy napisać w linii poleceń\n"
+-" po prostu 'ring'. Wpis oznaczony gwiazdką ('*') jest wpisem bieżącym.\n"
+-"\n"
+-" Aby przejść do innego wpisu w kręgu, należy wpisać 'ring <numer>', gdzie\n"
+-" <numer> jest numerem pożądanego wpisu na liście pozycji.\n"
+-"\n"
+-" Można także używać poleceń 'forward' ('f') i 'back' ('b'), aby przenieść\n"
+-" się odpowiednio na poprzedni lub następny wpis w kręgu.\n"
+-"\n"
+-" Uwaga: w przeciwieństwie do poleceń 'stack', 'push' i 'pop', krąg śledzi\n"
+-" pozycje niejawnie. Aby zapisać jawnie dane położenie w celu późniejszego\n"
+-" powrotu, należy użyć poleceń 'push' i 'pop'.\n"
+-"\n"
+-
+-#: .././db/io.c:438 .././db/io.c:481
+-#, c-format
+-msgid "can't seek in filesystem at bb %lld\n"
+-msgstr "nie można wykonać seek w systemie plików na bb %lld\n"
++"Całkowity czas trwania: %s\n"
+-#: .././db/io.c:515
+-msgid "nothing to write\n"
+-msgstr "nie ma nic do zapisania\n"
++#: .././repair/rt.c:47
++msgid "couldn't allocate memory for incore realtime bitmap.\n"
++msgstr "nie udało się przydzielić pamięci dla bitmapy realtime.\n"
+-#: .././db/io.c:521
+-#, c-format
+-msgid "incomplete write, block: %lld\n"
+-msgstr "zapis niekompletny, blok: %lld\n"
++#: .././repair/rt.c:51
++msgid "couldn't allocate memory for incore realtime summary info.\n"
++msgstr "nie udało się przydzielić pamięci dla opisu realtime.\n"
+-#: .././db/io.c:524
++#: .././repair/rt.c:203
+ #, c-format
+-msgid "write error: %s\n"
+-msgstr "błąd zapisu: %s\n"
++msgid "can't find block %d for rtbitmap inode\n"
++msgstr "nie można odnaleźć bloku %d dla i-węzła bitmapy realtime\n"
+-#: .././db/io.c:529
++#: .././repair/rt.c:211
+ #, c-format
+-msgid "incomplete read, block: %lld\n"
+-msgstr "odczyt niekompletny, blok: %lld\n"
++msgid "can't read block %d for rtbitmap inode\n"
++msgstr "nie można odczytać bloku %d dla i-węzła bitmapy realtime\n"
+-#: .././db/io.c:532
++#: .././repair/rt.c:265
+ #, c-format
+-msgid "read error: %s\n"
+-msgstr "błąd odczytu: %s\n"
+-
+-#: .././db/io.c:548
+-msgid "set_cur no stack element to set\n"
+-msgstr "set_cur: brak elementu stosu do ustawienia\n"
++msgid "block %d for rtsummary inode is missing\n"
++msgstr "brak bloku %d dla i-węzła opisu realtime\n"
+-#: .././db/io.c:554
++#: .././repair/rt.c:273
+ #, c-format
+-msgid "xfs_db got a bbmap for %lld\n"
+-msgstr "xfs_db ma bbmap dla %lld\n"
++msgid "can't read block %d for rtsummary inode\n"
++msgstr "nie można odczytać bloku %d dla i-węzła opisu realtime\n"
+-#: .././db/io.c:585
++#: .././repair/sb.c:103
+ msgid ""
+ "\n"
+-" The stack is used to explicitly store your location and data type\n"
+-" for later return.  The 'push' operation stores the current address\n"
+-" and type on the stack, the 'pop' operation returns you to the\n"
+-" position and datatype of the top entry on the stack.\n"
+-"\n"
+-" The 'stack' allows explicit location saves, see 'ring' for implicit\n"
+-" position tracking.\n"
+-"\n"
++"attempting to find secondary superblock...\n"
+ msgstr ""
+ "\n"
+-" Stos służy do jawnego zapisania pozycji i typu danych w celu późniejszego\n"
+-" powrotu. Operacja 'push' zapisuje bieżący adres i typ na stosie, a operacja\n"
+-" 'pop' odtwarza bieżący adres i typ danych z wierzchu stosu.\n"
+-"\n"
+-" Stos ('stack') pozwala na jawne zapisywanie pozycji; domyślnie pozycje są\n"
+-" śledzone poprzez krąg (p. 'ring').\n"
+-"\n"
++"próba odnalezienia zapasowego superbloku...\n"
+-#: .././db/malloc.c:27
+-#, c-format
+-msgid "%s: out of memory\n"
+-msgstr "%s: brak pamięci\n"
++#: .././repair/sb.c:108
++msgid "error finding secondary superblock -- failed to memalign buffer\n"
++msgstr "błąd podczas szukania zapasowego superbloku - nie udało się memalign bufora\n"
+-#: .././db/output.c:30
+-msgid "[stop|start <filename>]"
+-msgstr "[stop|start <nazwa-pliku>]"
++#: .././repair/sb.c:145
++msgid "found candidate secondary superblock...\n"
++msgstr "znaleziono potencjalny zapasowy superblok...\n"
+-#: .././db/output.c:31
+-msgid "start or stop logging to a file"
+-msgstr "rozpoczęcie lub zakończenie logowania do pliku"
++#: .././repair/sb.c:157
++msgid "verified secondary superblock...\n"
++msgstr "sprawdzono zapasowy superblok...\n"
+-#: .././db/output.c:68
+-#, c-format
+-msgid "logging to %s\n"
+-msgstr "logowanie do %s\n"
++#: .././repair/sb.c:162
++msgid "unable to verify superblock, continuing...\n"
++msgstr "nie udało się sprawdzić superbloku, kontynuacja...\n"
+-#: .././db/output.c:70 .././db/output.c:77
+-msgid "no log file\n"
+-msgstr "brak pliku logu\n"
++#: .././repair/sb.c:481
++msgid "failed to memalign superblock buffer\n"
++msgstr "nie udało się wykonać memalign dla bufora superbloku\n"
+-#: .././db/output.c:80
++#: .././repair/sb.c:488
++msgid "couldn't seek to offset 0 in filesystem\n"
++msgstr "nie udało się wykonać seek na offset 0 w systemie plików\n"
++
++#: .././repair/sb.c:498
++msgid "primary superblock write failed!\n"
++msgstr "zapis głównego superbloku nie powiódł się!\n"
++
++#: .././repair/sb.c:516
+ #, c-format
+-msgid "already logging to %s\n"
+-msgstr "już ustawiono logowanie do %s\n"
++msgid "error reading superblock %u -- failed to memalign buffer\n"
++msgstr "błąd podczas odczytu superbloku %u - nie udało się wykonać memalign dla bufora\n"
+-#: .././db/output.c:84
++#: .././repair/sb.c:527
+ #, c-format
+-msgid "can't open %s for writing\n"
+-msgstr "nie można otworzyć %s do zapisu\n"
++msgid "error reading superblock %u -- seek to offset %<PRId64> failed\n"
++msgstr "błąd podczas odczytu superbloku %u - seek na offset %<PRId64> nie powiódł się\n"
+-#: .././db/output.c:90
+-msgid "bad log command, ignored\n"
+-msgstr "błędne polecenie logowania, zignorowano\n"
++#: .././repair/sb.c:536
++#, c-format
++msgid "superblock read failed, offset %<PRId64>, size %d, ag %u, rval %d\n"
++msgstr "odczyt superbloku nie powiódł się, offset %<PRId64>, rozmiar %d, ag %u, rval %d\n"
+-#: .././db/print.c:41
+-msgid "[value]..."
+-msgstr "[wartość]..."
++#: .././repair/sb.c:583
++msgid "couldn't malloc geometry structure\n"
++msgstr "nie udało się przydzielić struktury geometrii\n"
+-#: .././db/print.c:42
+-msgid "print field values"
+-msgstr "wypisanie wartości pól"
++#: .././repair/sb.c:733
++msgid "calloc failed in verify_set_primary_sb\n"
++msgstr "calloc nie powiodło się w verify_set_primary_sb\n"
+-#: .././db/print.c:79
+-#, c-format
+-msgid "no print function for type %s\n"
+-msgstr "brak funkcji wypisującej dla typu %s\n"
++#: .././repair/sb.c:804
++msgid ""
++"Only two AGs detected and they do not match - cannot validate filesystem geometry.\n"
++"Use the -o force_geometry option to proceed.\n"
++msgstr ""
++"Wykryto tylko dwie AG i nie zgadzają się - nie można sprawdzić poprawności geometrii systemu plików.\n"
++"Proszę użyć opcji -o force_geometry, aby kontynuować.\n"
+-#: .././db/print.c:153
+-msgid "(empty)\n"
+-msgstr "(puste)\n"
++#: .././repair/sb.c:820
++msgid ""
++"Only one AG detected - cannot validate filesystem geometry.\n"
++"Use the -o force_geometry option to proceed.\n"
++msgstr ""
++"Wykryto tylko dwie AG - nie można sprawdzić poprawności geometrii systemu plików.\n"
++"Proszę użyć opcji -o force_geometry, aby kontynuować.\n"
+-#: .././db/print.c:215
+-msgid "(empty)"
+-msgstr "(puste)"
++#: .././repair/sb.c:835
++msgid "Not enough matching superblocks - cannot proceed.\n"
++msgstr "Za mało pasujących superbloków - nie można kontynuować.\n"
+-#: .././db/print.c:275
+-msgid "no arguments allowed\n"
+-msgstr "argumenty nie są dozwolone\n"
++#: .././repair/sb.c:850
++msgid "could not read superblock\n"
++msgstr "nie udało się odczytać superbloku\n"
+-#: .././db/quit.c:27
+-msgid "exit xfs_db"
+-msgstr "zakończenie xfs_db"
++#: .././repair/scan.c:82 .././repair/scan.c:137
++#, c-format
++msgid "can't read btree block %d/%d\n"
++msgstr "nie można odczytać bloku b-drzewa %d/%d\n"
+-#: .././db/type.c:50
+-msgid "[newtype]"
+-msgstr "[nowy-typ]"
++#: .././repair/scan.c:86 .././repair/scan.c:149
++#, c-format
++msgid "btree block %d/%d is suspect, error %d\n"
++msgstr "blok b-drzewa %d/%d jest podejrzany, błąd %d\n"
+-#: .././db/type.c:51
+-msgid "set/show current data type"
+-msgstr "ustawienie/wyświetlenie bieżącego typu danych"
++#: .././repair/scan.c:209
++#, c-format
++msgid "bad magic # %#x in inode %<PRIu64> (%s fork) bmbt block %<PRIu64>\n"
++msgstr "błędna liczba magiczna %#x w i-węźle %<PRIu64> (gałąź %s) blok bmbt %<PRIu64>\n"
+-#: .././db/type.c:104
++#: .././repair/scan.c:215
+ #, c-format
+-msgid "current type is \"%s\"\n"
+-msgstr "bieżący typ to \"%s\"\n"
++msgid "expected level %d got %d in inode %<PRIu64>, (%s fork) bmbt block %<PRIu64>\n"
++msgstr "oczekiwano poziomu %d, a uzyskano %d w i-węźle %<PRIu64>, (gałęzi %s) blok bmbt %<PRIu64>\n"
++
++#: .././repair/scan.c:225
++#, c-format
++msgid "expected owner inode %<PRIu64>, got %llu, bmbt block %<PRIu64>\n"
++msgstr "oczekiwano i-węzła właściciela %<PRIu64>, napotkano %llu, blok bmbt %<PRIu64>\n"
+-#: .././db/type.c:106
++#: .././repair/scan.c:245
++#, c-format
+ msgid ""
+-"\n"
+-" supported types are:\n"
+-" "
++"bad fwd (right) sibling pointer (saw %<PRIu64> parent block says %<PRIu64>)\n"
++"\tin inode %<PRIu64> (%s fork) bmap btree block %<PRIu64>\n"
+ msgstr ""
+-"\n"
+-" obsługiwane typy to:\n"
+-" "
++"błędny wskaźnik w przód (prawy) (widziano %<PRIu64>, blok nadrzędny mówi %<PRIu64>)\n"
++"\tw i-węźle %<PRIu64> (gałęzi %s) bloku bmap btree %<PRIu64>\n"
+-#: .././db/type.c:121
++#: .././repair/scan.c:255
+ #, c-format
+-msgid "no such type %s\n"
+-msgstr "nie ma typu %s\n"
++msgid ""
++"bad back (left) sibling pointer (saw %llu parent block says %<PRIu64>)\n"
++"\tin inode %<PRIu64> (%s fork) bmap btree block %<PRIu64>\n"
++msgstr ""
++"błędny wskaźnik wstecz (lewy) (widziano %llu, blok nadrzędny mówi %<PRIu64>)\n"
++"\tw i-węźle %<PRIu64> (gałęzi %s) bloku bmap btree %<PRIu64>\n"
+-#: .././db/type.c:124
+-msgid "no current object\n"
+-msgstr "brak bieżącego obiektu\n"
++#: .././repair/scan.c:270
++#, c-format
++msgid ""
++"bad back (left) sibling pointer (saw %llu should be NULL (0))\n"
++"\tin inode %<PRIu64> (%s fork) bmap btree block %<PRIu64>\n"
++msgstr ""
++"błędny wskaźnik wstecz (lewy) (widziano %llu, powinien być NULL (0))\n"
++"\tw i-węźle %<PRIu64> (gałęzi %s) bloku bmap btree %<PRIu64>\n"
+-#: .././db/write.c:41
+-msgid "[field or value]..."
+-msgstr "[pole lub wartość]..."
++#: .././repair/scan.c:311
++#, c-format
++msgid "inode 0x%<PRIx64>bmap block 0x%<PRIx64> claimed, state is %d\n"
++msgstr "i-węzeł 0x%<PRIx64> blok bmap 0x%<PRIx64> przypisany, stan to %d\n"
+-#: .././db/write.c:42
+-msgid "write value to disk"
+-msgstr "zapis wartości na dysk"
++#: .././repair/scan.c:318
++#, c-format
++msgid "inode 0x%<PRIx64> bmap block 0x%<PRIx64> claimed, state is %d\n"
++msgstr "i-węzeł 0x%<PRIx64> blok bmap 0x%<PRIx64> przypisany, stan to %d\n"
+-#: .././db/write.c:58
++#: .././repair/scan.c:333
++#, c-format
++msgid "bad state %d, inode %<PRIu64> bmap block 0x%<PRIx64>\n"
++msgstr "błędny stan %d, i-węzeł %<PRIu64> blok bmap 0x%<PRIx64>\n"
++
++#: .././repair/scan.c:360 .././repair/scan.c:411
++#, c-format
++msgid "inode %<PRIu64> bad # of bmap records (%u, min - %u, max - %u)\n"
++msgstr "błędna liczba rekordów bmap w i-węźle %<PRIu64> (%u, minimum - %u, maksimum - %u)\n"
++
++#: .././repair/scan.c:390
++#, c-format
++msgid "out-of-order bmap key (file offset) in inode %<PRIu64>, %s fork, fsbno %<PRIu64>\n"
++msgstr "uszkodzony klucz bmap (offset pliku) w i-węźle %<PRIu64>, gałęzi %s, fsbno %<PRIu64>\n"
++
++#: .././repair/scan.c:456
++#, c-format
+ msgid ""
+-"\n"
+-" The 'write' command takes on different personalities depending on the\n"
+-" type of object being worked with.\n"
+-"\n"
+-" Write has 3 modes:\n"
+-"  'struct mode' - is active anytime you're looking at a filesystem object\n"
+-"                  which contains individual fields (ex: an inode).\n"
+-"  'data mode'   - is active anytime you set a disk address directly or set\n"
+-"                  the type to 'data'.\n"
+-"  'string mode' - only used for writing symlink blocks.\n"
+-"\n"
+-" Examples:\n"
+-"  Struct mode: 'write core.uid 23'          - set an inode uid field to 23.\n"
+-"               'write fname \"hello\\000\"'    - write superblock fname.\n"
+-"               (note: in struct mode strings are not null terminated)\n"
+-"               'write fname #6669736800'    - write superblock fname with hex.\n"
+-"               'write uuid 00112233-4455-6677-8899-aabbccddeeff'\n"
+-"                                            - write superblock uuid.\n"
+-"  Data mode:   'write fill 0xff' - fill the entire block with 0xff's\n"
+-"               'write lshift 3' - shift the block 3 bytes to the left\n"
+-"               'write sequence 1 5' - write a cycle of number [1-5] through\n"
+-"                                      the entire block.\n"
+-"  String mode: 'write \"This_is_a_filename\" - write null terminated string.\n"
+-"\n"
+-" In data mode type 'write' by itself for a list of specific commands.\n"
+-"\n"
++"correcting bt key (was %llu, now %<PRIu64>) in inode %<PRIu64>\n"
++"\t\t%s fork, btree block %<PRIu64>\n"
+ msgstr ""
+-"\n"
+-" Polecenie 'write' ma różne osobowości w zależności od rodzaju obiektu,\n"
+-" na jakim pracuje.\n"
+-"\n"
+-" Zapis ma trzy tryby:\n"
+-"  'struct' (strukturalny) - aktywny w przypadku oglądania obiektu systemu\n"
+-"                   plików zawierającego poszczególne pola (np. i-węzeł).\n"
+-"  'data' (danych) - aktywny w przypadku bezpośredniego ustawienia adresu\n"
+-"                   na dysku lub ustawienia typu na 'data'.\n"
+-"  'string' (znakowy) - używany tylko przy zapisie bloków dowiązań\n"
+-"                   symbolicznych.\n"
+-"\n"
+-" Przykłady:\n"
+-"  Tryb strukturalny: 'write core.uid 23' - ustawienie pola uid i-węzła na 23\n"
+-"                     'write fname \"hello\\000\"' - zapis nazwy pliku sb\n"
+-"                     (uwaga: w trybie strukturalnym łańcuchy nie są zakańczane)\n"
+-"                     'write fname #6669736800' - zapis nazwy pliku sb w hex.\n"
+-"                     'write uuid 00112233-4455-6677-8899-aabbccddeeff'\n"
+-"                               - zapis UUID-a superbloku.\n"
+-"  Tryb danych:       'write fill 0xff' - wypełnienie bloku bajtam 0xff\n"
+-"                     'write lshift 3' - przesunięcie bloku o 3 bajty w lewo\n"
+-"                     'write sequence 1 5' zapis cyklicznie liczb [1-5] przez\n"
+-"                               cały blok.\n"
+-"  Tryb znakowy:      'write \"To_jest_nazwa_pliku\" - zapis łańcucha\n"
+-"                               zakończonego znakiem NUL.\n"
+-"\n"
+-" W trybie danych samo 'write' wypisze listę bardziej specyficznych poleceń.\n"
+-"\n"
++"poprawiono klucz bt (było %llu, jest %<PRIu64>) w i-węźle %<PRIu64>\n"
++"\t\tgałąź %s, blok b-drzewa %<PRIu64>\n"
+-#: .././db/write.c:95
++#: .././repair/scan.c:468
+ #, c-format
+-msgid "%s started in read only mode, writing disabled\n"
+-msgstr "%s uruchomiono w trybie tylko do odczytu, zapis wyłączony\n"
++msgid ""
++"bad btree key (is %llu, should be %<PRIu64>) in inode %<PRIu64>\n"
++"\t\t%s fork, btree block %<PRIu64>\n"
++msgstr ""
++"błędny klucz b-drzewa (jest %llu, powinno być %<PRIu64>) w i-węźle %<PRIu64>\n"
++"\t\tgałąź %s, blok b-drzewa %<PRIu64>\n"
+-#: .././db/write.c:107
++#: .././repair/scan.c:486
+ #, c-format
+-msgid "no handler function for type %s, write unsupported.\n"
+-msgstr "brak funkcji obsługującej dla typu %s, zapis nie obsługiwany.\n"
++msgid ""
++"bad fwd (right) sibling pointer (saw %<PRIu64> should be NULLDFSBNO)\n"
++"\tin inode %<PRIu64> (%s fork) bmap btree block %<PRIu64>\n"
++msgstr ""
++"błędny wskaźnik w przód (prawy) (widziano %<PRIu64>, powinien być NULLDFSBNO)\n"
++"\tw i-węźle %<PRIu64> (gałęzi %s) bloku bmap btree %<PRIu64>\n"
+-#: .././db/write.c:167 .././db/write.c:196 .././db/write.c:226
+-#: .././db/write.c:258 .././db/write.c:293 .././db/write.c:342
+-#: .././db/write.c:371
++#: .././repair/scan.c:544
+ #, c-format
+-msgid "length (%d) too large for data block size (%d)"
+-msgstr "długość (%d) zbyt duża dla rozmiaru bloku danych (%d)"
++msgid "bad magic # %#x in bt%s block %d/%d\n"
++msgstr "błędna liczba magiczna %#x w bloku bt%s %d/%d\n"
+-#: .././db/write.c:559
+-msgid "usage: write fieldname value\n"
+-msgstr "składnia: write nazwa-pola wartość\n"
++#: .././repair/scan.c:562
++#, c-format
++msgid "expected level %d got %d in bt%s block %d/%d\n"
++msgstr "oczekiwano poziomu %d, a uzyskano %d w bloku bt%s %d/%d\n"
+-#: .././db/write.c:565
++#: .././repair/scan.c:576
+ #, c-format
+-msgid "unable to parse '%s'.\n"
+-msgstr "nie można przeanalizować '%s'.\n"
++msgid "%s freespace btree block claimed (state %d), agno %d, bno %d, suspect %d\n"
++msgstr "blok b-drzewa wolnego miejsca %s przypisany (stan %d), agno %d, bno %d, podejrzany %d\n"
+-#: .././db/write.c:579
+-msgid "parsing error\n"
+-msgstr "błąd składni\n"
++#: .././repair/scan.c:596 .././repair/scan.c:697
++#, c-format
++msgid "bad btree nrecs (%u, min=%u, max=%u) in bt%s block %u/%u\n"
++msgstr "błędna liczba rekordów b-drzewa (%u, min=%u, max=%u) w bt%s, blok %u/%u\n"
+-#: .././db/write.c:598
++#: .././repair/scan.c:614
+ #, c-format
+-msgid "unable to convert value '%s'.\n"
+-msgstr "nie można przekonwertować wartości '%s'.\n"
++msgid "invalid start block %u in record %u of %s btree block %u/%u\n"
++msgstr "błędny blok początkowy %u w rekordzie %u bloku b-drzewa %s %u/%u\n"
+-#: .././db/write.c:621
+-msgid "usage (in string mode): write \"string...\"\n"
+-msgstr "składnia (w trybie znakowym): write \"łańcuch...\"\n"
++#: .././repair/scan.c:620
++#, c-format
++msgid "invalid length %u in record %u of %s btree block %u/%u\n"
++msgstr "błędna długość %u w rekordzie %u bloku b-drzewa %s %u/%u\n"
+-#: .././db/write.c:663
+-msgid "write: invalid subcommand\n"
+-msgstr "write: błędne podpolecenie\n"
++#: .././repair/scan.c:667
++#, c-format
++msgid "block (%d,%d-%d) multiply claimed by %s space tree, state - %d\n"
++msgstr "blok (%d,%d-%d) wielokrotnie przypisany do drzewa miejsca %s, stan - %d\n"
+-#: .././db/write.c:668
++#: .././repair/scan.c:774
+ #, c-format
+-msgid "write %s: invalid number of arguments\n"
+-msgstr "write %s: błędna liczba argumentów\n"
++msgid "badly aligned inode rec (starting inode = %<PRIu64>)\n"
++msgstr "błędnie wyrównany rekord i-węzła (początkowy i-węzeł = %<PRIu64>)\n"
+-#: .././db/write.c:692
+-msgid "usage: write (in data mode)\n"
+-msgstr "składnia: write (w trybie danych)\n"
++#: .././repair/scan.c:790
++#, c-format
++msgid "bad starting inode # (%<PRIu64> (0x%x 0x%x)) in ino rec, skipping rec\n"
++msgstr "błędny numer początkowego i-węzła (%<PRIu64> (0x%x 0x%x)) w rekordzie i-węzła, pominięto rekord\n"
+-#: .././db/frag.c:173
++#: .././repair/scan.c:798
+ #, c-format
+-msgid "actual %llu, ideal %llu, fragmentation factor %.2f%%\n"
+-msgstr "obecnie %llu, idealnie %llu, współczynnik fragmentacji %.2f%%\n"
++msgid "bad ending inode # (%<PRIu64> (0x%x 0x%zx)) in ino rec, skipping rec\n"
++msgstr "błędny numer końcowego i-węzła (%<PRIu64> (0x%x 0x%zx)) w rekordzie i-węzła, pominięto rekord\n"
+-#: .././db/frag.c:214
+-msgid "bad option for frag command\n"
+-msgstr "błędna opcja dla polecenia frag\n"
++#: .././repair/scan.c:823
++#, c-format
++msgid "inode chunk claims used block, inobt block - agno %d, bno %d, inopb %d\n"
++msgstr "część i-węzła odwołuje się do używanego bloku, blok inobt - agno %d, bno %d, inopb %d\n"
+-#: .././db/frag.c:349
++#: .././repair/scan.c:845
+ #, c-format
+-msgid "inode %lld actual %lld ideal %lld\n"
+-msgstr "i-węzeł %lld obecnie %lld idealnie %lld\n"
++msgid "inode rec for ino %<PRIu64> (%d/%d) overlaps existing rec (start %d/%d)\n"
++msgstr "rekord i-węzła dla i-węzła %<PRIu64> (%d/%d) nachodzi na istniejący rekord (początek %d/%d)\n"
+-#: .././db/frag.c:443 .././db/frag.c:453
++#: .././repair/scan.c:892
+ #, c-format
+-msgid "invalid numrecs (%u) in %s block\n"
+-msgstr "błędne numrecs (%u) w bloku %s\n"
++msgid "ir_freecount/free mismatch, inode chunk %d/%u, freecount %d nfree %d\n"
++msgstr "niezgodność ir_freecount/free, porcja i-węzłów %d/%u, freecount %d nfree %d\n"
+-#: .././db/metadump.c:55
+-msgid "[-e] [-g] [-m max_extent] [-w] [-o] filename"
+-msgstr "[-e] [-g] [-m max_extent] [-w] [-o] nazwa-pliku"
++#: .././repair/scan.c:939
++#, c-format
++msgid "bad magic # %#x in inobt block %d/%d\n"
++msgstr "błędna liczba magiczna %#x w bloku inobt %d/%d\n"
+-#: .././db/metadump.c:56
+-msgid "dump metadata to a file"
+-msgstr "zrzut metadanych do pliku"
++#: .././repair/scan.c:947
++#, c-format
++msgid "expected level %d got %d in inobt block %d/%d\n"
++msgstr "oczekiwano poziomu %d, a uzyskano %d w bloku inobt %d/%d\n"
+-#: .././db/metadump.c:86
++#: .././repair/scan.c:969
+ #, c-format
+-msgid ""
+-"\n"
+-" The 'metadump' command dumps the known metadata to a compact file suitable\n"
+-" for compressing and sending to an XFS maintainer for corruption analysis \n"
+-" or xfs_repair failures.\n"
+-"\n"
+-" Options:\n"
+-"   -e -- Ignore read errors and keep going\n"
+-"   -g -- Display dump progress\n"
+-"   -m -- Specify max extent size in blocks to copy (default = %d blocks)\n"
+-"   -o -- Don't obfuscate names and extended attributes\n"
+-"   -w -- Show warnings of bad metadata information\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" Polecenie 'metadump' zrzuca znane metadane do zwięzłego pliku nadającego się\n"
+-" do skompresowania i wysłania prowadzącym projekt XFS w celu analizy uszkodzeń\n"
+-" lub błędów xfs_repair.\n"
+-"\n"
+-" Opcje:\n"
+-"   -e - ignorowanie błędów odczytu i kontynuowanie\n"
+-"   -g - wyświetlanie postępu\n"
+-"   -m - określenie maksymalnego rozmiaru ekstentu (w blokach) do skopiowania\n"
+-"        (domyślnie %d bloków)\n"
+-"   -o - bez zaciemniania nazw i rozszerzonych atrybutów\n"
+-"   -w - wyświetlanie ostrzeżeń o błędnych metadanych\n"
+-"\n"
++msgid "inode btree block claimed (state %d), agno %d, bno %d, suspect %d\n"
++msgstr "blok b-drzewa i-węzłów przypisany (stan %d), agno %d, bno %d, podejrzany %d\n"
+-#: .././db/freesp.c:106
++#: .././repair/scan.c:992
+ #, c-format
+-msgid "total free extents %lld\n"
+-msgstr "razem wolnych ekstentów: %lld\n"
++msgid "dubious inode btree block header %d/%d\n"
++msgstr "wątpliwy nagłówek bloku b-drzewa i-węzłów %d/%d\n"
+-#: .././db/freesp.c:107
++#: .././repair/scan.c:1086
+ #, c-format
+-msgid "total free blocks %lld\n"
+-msgstr "razem wolnych bloków: %lld\n"
++msgid "can't read agfl block for ag %d\n"
++msgstr "nie można odczytać bloku agfl dla ag %d\n"
+-#: .././db/freesp.c:108
++#: .././repair/scan.c:1090
+ #, c-format
+-msgid "average free extent size %g\n"
+-msgstr "średni rozmiar wolnego ekstentu: %g\n"
++msgid "agfl has bad CRC for ag %d\n"
++msgstr "agfl ma błędną sumę kontrolną dla ag %d\n"
+-#: .././db/freesp.c:199
+-msgid "freesp arguments: [-bcds] [-a agno] [-e binsize] [-h h1]... [-m binmult]\n"
+-msgstr "argumenty freesp: [-bcds] [-a agno] [-e binsize] [-h h1]... [-m binmult]\n"
++#: .././repair/scan.c:1111
++#, c-format
++msgid "bad agbno %u in agfl, agno %d\n"
++msgstr "błędne agbno %u w agfl, agno %d\n"
+-#: .././db/freesp.c:406
+-msgid "from"
+-msgstr "od"
++#: .././repair/scan.c:1120
++#, c-format
++msgid "freeblk count %d != flcount %d in ag %d\n"
++msgstr "liczba freeblk %d != flcount %d w ag %d\n"
+-#: .././db/freesp.c:406
+-msgid "to"
+-msgstr "do"
++#: .././repair/scan.c:1146
++#, c-format
++msgid "bad agbno %u for btbno root, agno %d\n"
++msgstr "błędne agbno %u dla głównego btbno, agno %d\n"
+-#: .././db/freesp.c:406
+-msgid "pct"
+-msgstr "proc."
++#: .././repair/scan.c:1158
++#, c-format
++msgid "bad agbno %u for btbcnt root, agno %d\n"
++msgstr "błędne agbno %u dla głównego btbcnt, agno %d\n"
+-#: .././db/inode.c:385
++#: .././repair/scan.c:1174
+ #, c-format
+-msgid "bad value for inode number %s\n"
+-msgstr "błędna wartość numeru i-węzła %s\n"
++msgid "agf_btreeblks %u, counted %<PRIu64> in ag %u\n"
++msgstr "agf_btreeblks %u, naliczono %<PRIu64> w ag %u\n"
+-#: .././db/inode.c:392
++#: .././repair/scan.c:1197
+ #, c-format
+-msgid "current inode number is %lld\n"
+-msgstr "numer bieżącego i-węzła to %lld\n"
++msgid "bad agbno %u for inobt root, agno %d\n"
++msgstr "błędne agbno %u dla głównego inobt, agno %d\n"
+-#: .././db/inode.c:614
++#: .././repair/scan.c:1216
+ #, c-format
+-msgid "bad inode number %lld\n"
+-msgstr "błędny numer i-węzła %lld\n"
++msgid "agi unlinked bucket %d is %u in ag %u (inode=%<PRIu64>)\n"
++msgstr "niedowiązany kubełek agi %d to %u w ag %u (i-węzeł=%<PRIu64>)\n"
+-#: .././db/sb.c:43
+-msgid "set current address to sb header"
+-msgstr "ustawienie bieżącego adresu na nagłówek sb"
++#: .././repair/scan.c:1247
++msgid "can't allocate memory for superblock\n"
++msgstr "nie można przydzielić pamięci dla superbloku\n"
+-#: .././db/sb.c:45
+-msgid "[uuid]"
+-msgstr "[uuid]"
++#: .././repair/scan.c:1254
++msgid "root superblock"
++msgstr "główny superblok"
+-#: .././db/sb.c:46
+-msgid "write/print FS uuid"
+-msgstr "zapisanie/wypisanie uuida FS"
++#: .././repair/scan.c:1263
++msgid "agf block"
++msgstr "blok agf"
+-#: .././db/sb.c:48
+-msgid "[label]"
+-msgstr "[etykieta]"
++#: .././repair/scan.c:1272
++msgid "agi block"
++msgstr "blok agi"
+-#: .././db/sb.c:49
+-msgid "write/print FS label"
+-msgstr "zapisanie/wypisanie etykiety FS"
++#: .././repair/scan.c:1293
++#, c-format
++msgid "reset bad sb for ag %d\n"
++msgstr "przestawiono błędny superblok dla ag %d\n"
+-#: .././db/sb.c:51
+-msgid "[feature | [vnum fnum]]"
+-msgstr "[cecha | [vnum fnum]]"
++#: .././repair/scan.c:1296
++#, c-format
++msgid "would reset bad sb for ag %d\n"
++msgstr "błędny superblok dla ag %d zostałby przestawiony\n"
+-#: .././db/sb.c:52
+-msgid "set feature bit(s) in the sb version field"
+-msgstr "ustawienie bitów cech w polu wersji sb"
++#: .././repair/scan.c:1301
++#, c-format
++msgid "reset bad agf for ag %d\n"
++msgstr "przestawiono błędne agf dla ag %d\n"
+-#: .././db/sb.c:124
+-msgid ""
+-"\n"
+-" set allocation group superblock\n"
+-"\n"
+-" Example:\n"
+-"\n"
+-" 'sb 7' - set location to 7th allocation group superblock, set type to 'sb'\n"
+-"\n"
+-" Located in the first sector of each allocation group, the superblock\n"
+-" contains the base information for the filesystem.\n"
+-" The superblock in allocation group 0 is the primary.  The copies in the\n"
+-" remaining allocation groups only serve as backup for filesystem recovery.\n"
+-" The icount/ifree/fdblocks/frextents are only updated in superblock 0.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" ustawienie superbloku grupy alokacji\n"
+-"\n"
+-" Przykład:\n"
+-"\n"
+-" 'sb 7' - ustawienie pozycji na superblok 7. grupy alokacji i typu na 'sb'\n"
+-"\n"
+-" Położony w 1. sektorze każdej grupy alokacji superblok zawiera podstawowe\n"
+-" informacje o systemie plików.\n"
+-" Superblok w grupie alokacji 0 jest główny. Kopie w pozostałych grupach\n"
+-" alokacji służą tylko jako kopie zapasowe do odtwarzania systemu plików.\n"
+-" Liczby icount/ifree/fdblocks/frextents są uaktualniane tylko w superbloku 0.\n"
+-"\n"
++#: .././repair/scan.c:1304
++#, c-format
++msgid "would reset bad agf for ag %d\n"
++msgstr "błędne agf dla ag %d zostałoby przestawione\n"
+-#: .././db/sb.c:183
++#: .././repair/scan.c:1309
+ #, c-format
+-msgid "can't read superblock for AG %u\n"
+-msgstr "nie można odczytać superbloku dla AG %u\n"
++msgid "reset bad agi for ag %d\n"
++msgstr "przestawiono błędne agi dla ag %d\n"
+-#: .././db/sb.c:191
++#: .././repair/scan.c:1312
+ #, c-format
+-msgid "bad sb magic # %#x in AG %u\n"
+-msgstr "błędna liczba magiczna superbloku %#x w AG %u\n"
++msgid "would reset bad agi for ag %d\n"
++msgstr "błędna agi dla ag %d zostałoby przestawione\n"
+-#: .././db/sb.c:196
++#: .././repair/scan.c:1317
+ #, c-format
+-msgid "bad sb version # %#x in AG %u\n"
+-msgstr "błędny numer wersji superbloku %#x w AG %u\n"
++msgid "bad uncorrected agheader %d, skipping ag...\n"
++msgstr "błędny nie poprawiony agheader %d, pominięto ag...\n"
+-#: .././db/sb.c:218
+-msgid "aborting - external log specified for FS with an internal log\n"
+-msgstr "przerwano - podano log zewnętrzny dla systemu plików z logiem wewnętrznym\n"
++#: .././repair/scan.c:1381
++msgid "can't get %s for ag %d\n"
++msgstr "nie można uzyskać %s dla ag %d\n"
+-#: .././db/sb.c:224
+-msgid "aborting - no external log specified for FS with an external log\n"
+-msgstr "przerwano - nie podano logu zewnętrznego dla systemu plików z logiem zewnętrznym\n"
++#: .././repair/scan.c:1400
++msgid "no memory for ag header counts\n"
++msgstr "brak pamięci na liczniki nagłówków ag\n"
+-#: .././db/sb.c:242
+-msgid "ERROR: cannot find log head/tail, run xfs_repair\n"
+-msgstr "BŁĄD: nie odnaleziono początku/końca logu, proszę uruchomić xfs_repair\n"
++#: .././repair/scan.c:1425
++#, c-format
++msgid "sb_icount %<PRIu64>, counted %<PRIu64>\n"
++msgstr "sb_icount %<PRIu64>, naliczono %<PRIu64>\n"
++
++#: .././repair/scan.c:1430
++#, c-format
++msgid "sb_ifree %<PRIu64>, counted %<PRIu64>\n"
++msgstr "sb_ifree %<PRIu64>, naliczono %<PRIu64>\n"
++
++#: .././repair/scan.c:1435
++#, c-format
++msgid "sb_fdblocks %<PRIu64>, counted %<PRIu64>\n"
++msgstr "sb_fdblocks %<PRIu64>, naliczono %<PRIu64>\n"
++
++#: .././repair/threads.c:90
++#, c-format
++msgid "cannot create worker threads, error = [%d] %s\n"
++msgstr "nie można utworzyć wątków pracujących, błąd: [%d] %s\n"
++
++#: .././repair/threads.c:108
++#, c-format
++msgid "cannot allocate worker item, error = [%d] %s\n"
++msgstr "nie można przydzielić elementu pracującego, błąd: [%d] %s\n"
+-#: .././db/sb.c:247
++#: .././repair/versions.c:70
+ #, c-format
++msgid "bogus quota flags 0x%x set in superblock"
++msgstr "niepoprawne flagi limitów 0x%x ustawione w superbloku"
++
++#: .././repair/versions.c:76
++msgid ", bogus flags will be cleared\n"
++msgstr ", błędne flagi zostaną wyczyszczone\n"
++
++#: .././repair/versions.c:78
++msgid ", bogus flags would be cleared\n"
++msgstr ", błędne flagi zostałyby wyczyszczone\n"
++
++#: .././repair/versions.c:132
++msgid "This filesystem has uninitialized extent flags.\n"
++msgstr "Ten system plików ma niezainicjowane flagi ekstentów.\n"
++
++#: .././repair/versions.c:140
++msgid "This filesystem is marked shared.\n"
++msgstr "Ten system plików jest oznaczony jako współdzielony.\n"
++
++#: .././repair/versions.c:146
+ msgid ""
+-"ERROR: The filesystem has valuable metadata changes in a log which needs to\n"
+-"be replayed.  Mount the filesystem to replay the log, and unmount it before\n"
+-"re-running %s.  If you are unable to mount the filesystem, then use\n"
+-"the xfs_repair -L option to destroy the log and attempt a repair.\n"
+-"Note that destroying the log may cause corruption -- please attempt a mount\n"
+-"of the filesystem before doing this.\n"
++"This filesystem uses feature(s) not yet supported in this release.\n"
++"Please run a more recent version of xfs_repair.\n"
+ msgstr ""
+-"BŁĄD: system plików zawiera wartościowe zmiany metadanych w logu, który\n"
+-"musi być odtworzony. Należy podmontować system plików, aby odtworzyć log,\n"
+-"a następnie odmontować go przed ponownym uruchomieniem %s. Jeśli\n"
+-"systemu plików nie da się podmontować, można użyć opcji -L, aby zniszczyć\n"
+-"log i spróbować naprawić system plików.\n"
+-"Należy zauważyć, że zniszczenie logu może spowodować uszkodzenia danych -\n"
+-"proszę najpierw spróbować podmontować system plików.\n"
++"Ten system plików używa możliwości jeszcze nie obsługiwanych w tym wydaniu.\n"
++"Proszę uruchomić nowszą wersję xfs_repair.\n"
+-#: .././db/sb.c:264
+-msgid "Clearing log and setting UUID\n"
+-msgstr "Czyszczenei logu i ustawianie UUID-a\n"
++#: .././repair/versions.c:152
++#, c-format
++msgid "WARNING:  unknown superblock version %d\n"
++msgstr "UWAGA: nieznana wersja superbloku %d\n"
+-#: .././db/sb.c:273
+-msgid "ERROR: cannot clear the log\n"
+-msgstr "BŁĄD: nie można wyczyścić logu\n"
++#: .././repair/versions.c:155
++msgid "This filesystem contains features not understood by this program.\n"
++msgstr "Ten system plików zawiera cechę nie rozumianą przez ten program.\n"
+-#: .././db/sb.c:284
++#: .././repair/versions.c:163
+ msgid ""
+-"\n"
+-" write/print FS uuid\n"
+-"\n"
+-" Example:\n"
+-"\n"
+-" 'uuid'                                      - print UUID\n"
+-" 'uuid 01234567-0123-0123-0123-0123456789ab' - write UUID\n"
+-" 'uuid generate'                             - generate and write\n"
+-" 'uuid rewrite'                              - copy UUID from SB 0\n"
+-"\n"
+-"The print function checks the UUID in each SB and will warn if the UUIDs\n"
+-"differ between AGs (the log is not checked). The write commands will\n"
+-"set the uuid in all AGs to either a specified value, a newly generated\n"
+-"value or the value found in the first superblock (SB 0) respectively.\n"
+-"As a side effect of writing the UUID, the log is cleared (which is fine\n"
+-"on a CLEANLY unmounted FS).\n"
+-"\n"
++"WARNING:  you have disallowed superblock-feature-bits-allowed\n"
++"\tbut this superblock has feature bits.  The superblock\n"
++"\twill be downgraded.  This may cause loss of filesystem meta-data\n"
+ msgstr ""
++"UWAGA: zabroniono superblock-feature-bits-allowed, ale ten\n"
++"\tsuperblok ma ustawione bity cech. Superblok zostanie zdegradowany.\n"
++"\tMoże to spowodować utratę metadanych systemu plików.\n"
++
++#: .././repair/versions.c:168
++msgid ""
++"WARNING:  you have disallowed superblock-feature-bits-allowed\n"
++"\tbut this superblock has feature bits.  The superblock\n"
++"\twould be downgraded.  This might cause loss of filesystem\n"
++"\tmeta-data.\n"
++msgstr ""
++"UWAGA: zabroniono superblock-feature-bits-allowed, ale ten\n"
++"\tsuperblok ma ustawione bity cech. Superblok zostałby zdegradowany.\n"
++"\tMogłoby to spowodować utratę metadanych systemu plików.\n"
++
++#: .././repair/versions.c:182
++msgid ""
++"WARNING:  you have disallowed attributes but this filesystem\n"
++"\thas attributes.  The filesystem will be downgraded and\n"
++"\tall attributes will be removed.\n"
++msgstr ""
++"UWAGA: zabroniono używania atrybutów, ale ten system plików zawiera\n"
++"\tatrybuty. System plików zostanie zdegradowany, a wszystkie\n"
++"\tatrybuty usunięte.\n"
++
++#: .././repair/versions.c:187
++msgid ""
++"WARNING:  you have disallowed attributes but this filesystem\n"
++"\thas attributes.  The filesystem would be downgraded and\n"
++"\tall attributes would be removed.\n"
++msgstr ""
++"UWAGA: zabroniono używania atrybutów, ale ten system plików zawiera\n"
++"\tatrybuty. System plików zostałby zdegradowany, a wszystkie\n"
++"\tatrybuty usunięte.\n"
++
++#: .././repair/versions.c:200
++msgid ""
++"WARNING:  you have disallowed attr2 attributes but this filesystem\n"
++"\thas attributes.  The filesystem will be downgraded and\n"
++"\tall attr2 attributes will be removed.\n"
++msgstr ""
++"UWAGA: zabroniono używania atrybutów attr2, ale ten system plików\n"
++"\tzawiera atrybuty. System plików zostanie zdegradowany, a wszystkie\n"
++"\tatrybuty attr2 usunięte.\n"
++
++#: .././repair/versions.c:205
++msgid ""
++"WARNING:  you have disallowed attr2 attributes but this filesystem\n"
++"\thas attributes.  The filesystem would be downgraded and\n"
++"\tall attr2 attributes would be removed.\n"
++msgstr ""
++"UWAGA: zabroniono używania atrybutów attr2, ale ten system plików\n"
++"\tzawiera atrybuty. System plików zostałby zdegradowany, a wszystkie\n"
++"\tatrybuty attr2 usunięte.\n"
++
++#: .././repair/versions.c:218
++msgid ""
++"WARNING:  you have disallowed version 2 inodes but this filesystem\n"
++"\thas version 2 inodes.  The filesystem will be downgraded and\n"
++"\tall version 2 inodes will be converted to version 1 inodes.\n"
++"\tThis may cause some hard links to files to be destroyed\n"
++msgstr ""
++"UWAGA: zabroniono używania i-węzłów w wersji 2, ale ten system plików\n"
++"\tzawiera i-węzły w wersji 2. System plików zostanie zdegradowany,\n"
++"\ta wszystkie i-węzły w wersji 2 zostaną przekonwertowane do wersji 1.\n"
++"\tMoże to spowodować zniszczenie niektórych twardych dowiązań do\n"
++"\tplików.\n"
++
++#: .././repair/versions.c:224
++msgid ""
++"WARNING:  you have disallowed version 2 inodes but this filesystem\n"
++"\thas version 2 inodes.  The filesystem would be downgraded and\n"
++"\tall version 2 inodes would be converted to version 1 inodes.\n"
++"\tThis might cause some hard links to files to be destroyed\n"
++msgstr ""
++"UWAGA: zabroniono używania i-węzłów w wersji 2, ale ten system plików\n"
++"\tzawiera i-węzły w wersji 2. System plików zostałby zdegradowany,\n"
++"\ta wszystkie i-węzły w wersji 2 zostałyby przekonwertowane do\n"
++"\twersji 1. Mogłoby to spowodować zniszczenie niektórych twardych\n"
++"\tdowiązań do plików.\n"
++
++#: .././repair/versions.c:238
++msgid ""
++"WARNING:  you have disallowed quotas but this filesystem\n"
++"\thas quotas.  The filesystem will be downgraded and\n"
++"\tall quota information will be removed.\n"
++msgstr ""
++"UWAGA: zabroniono używania limitów (quot), ale ten system plików\n"
++"\tzawiera limity. System plików zostanie zdegradowany, a wszystkie\n"
++"\tinformacje o limitach usunięte.\n"
++
++#: .././repair/versions.c:243
++msgid ""
++"WARNING:  you have disallowed quotas but this filesystem\n"
++"\thas quotas.  The filesystem would be downgraded and\n"
++"\tall quota information would be removed.\n"
++msgstr ""
++"UWAGA: zabroniono używania limitów (quot), ale ten system plików\n"
++"\tzawiera limity. System plików zostałby zdegradowany, a wszystkie\n"
++"\tinformacje o limitach usunięte.\n"
++
++#: .././repair/versions.c:271
++msgid ""
++"WARNING:  you have disallowed aligned inodes but this filesystem\n"
++"\thas aligned inodes.  The filesystem will be downgraded.\n"
++"\tThis will permanently degrade the performance of this filesystem.\n"
++msgstr ""
++"UWAGA: zabroniono używania wyrównanych i-węzłów, ale ten system plików\n"
++"\tzawiera wyrównane i-węzły. System plików zostanie zdegradowany.\n"
++"\tTrwale zdegraduje to wydajność tego systemu plików.\n"
++
++#: .././repair/versions.c:276
++msgid ""
++"WARNING:  you have disallowed aligned inodes but this filesystem\n"
++"\thas aligned inodes.  The filesystem would be downgraded.\n"
++"\tThis would permanently degrade the performance of this filesystem.\n"
++msgstr ""
++"UWAGA: zabroniono używania wyrównanych i-węzłów, ale ten system plików\n"
++"\tzawiera wyrównane i-węzły. System plików zostałby zdegradowany.\n"
++"\tTrwale zdegradowałoby to wydajność tego systemu plików.\n"
++
++#: .././repair/xfs_repair.c:81
++#, c-format
++msgid ""
++"Usage: %s [options] device\n"
+ "\n"
+-" zapisanie/wypisanie uuida systemu plików\n"
+-"\n"
+-"Przykład:\n"
+-"\n"
+-" 'uuid'                                      - wypisanie UUID-a\n"
+-" 'uuid 01234567-0123-0123-0123-0123456789ab' - zapisanie UUID-a\n"
+-" 'uuid generate'                             - wygenerowanie i zapisanie\n"
+-" 'uuid rewrite'                              - skopiowanie UUID-a z sb 0\n"
+-"\n"
+-"Funkcja wypisująca sprawdza UUID w każdym superbloku i ostrzega, jeśli UUID-y\n"
+-"się różnią między AG (log nie jest sprawdzany). Polecenia zapisu ustawiają\n"
+-"UUID we wszystkich AG odpowiednio na określoną wartość, nowo wygenerowaną\n"
+-"wartość lub wartość znalezioną w pierwszym superbloku (SB 0).\n"
+-"Jako efekt uboczny zapisu UUID-a czyszczony jest log (co nie jest problemem\n"
+-"przy CZYSTO odmontowanym systemie plików).\n"
++"Options:\n"
++"  -f           The device is a file\n"
++"  -L           Force log zeroing. Do this as a last resort.\n"
++"  -l logdev    Specifies the device where the external log resides.\n"
++"  -m maxmem    Maximum amount of memory to be used in megabytes.\n"
++"  -n           No modify mode, just checks the filesystem for damage.\n"
++"  -P           Disables prefetching.\n"
++"  -r rtdev     Specifies the device where the realtime section resides.\n"
++"  -v           Verbose output.\n"
++"  -c subopts   Change filesystem parameters - use xfs_admin.\n"
++"  -o subopts   Override default behaviour, refer to man page.\n"
++"  -t interval  Reporting interval in seconds.\n"
++"  -d           Repair dangerously.\n"
++"  -V           Reports version and exits.\n"
++msgstr ""
++"Składnia: %s [opcje] urządzenie\n"
+ "\n"
++"Opcje:\n"
++"  -f           Urządzenie jest plikiem\n"
++"  -L           Wymuszenie wyzerowania logu. Wykonywać tylko w ostateczności.\n"
++"  -l urz_logu  Określenie urządzenia z zewnętrznym logiem.\n"
++"  -m maks_pam  Maksymalna ilość pamięci do użycia w megabajtach.\n"
++"  -n           Tryb bez modyfikacji, tylko sprawdzenie systemu plików.\n"
++"  -P           Wyłączenie prefetch.\n"
++"  -r urz_rt    Określenie urządzenia z sekcją realtime.\n"
++"  -v           Szczegółowe wyjście.\n"
++"  -c podopcje  Zmiana parametrów systemu plików przy użyciu xfs_admina.\n"
++"  -o podopcje  Zmiana domyślnego zachowania, więcej na stronie manuala.\n"
++"  -t czas      Okres informowania o postępach w minutach.\n"
++"  -d           Naprawianie w sposób niebezpieczny.\n"
++"  -V           Wypisanie informacji o wersji i zakończenie.\n"
+-#: .././db/sb.c:336 .././db/sb.c:488
+-msgid "invalid parameters\n"
+-msgstr "błędne parametry\n"
++#: .././repair/xfs_repair.c:107
++msgid "no error"
++msgstr "brak błędu"
++
++#: .././repair/xfs_repair.c:108
++msgid "bad magic number"
++msgstr "błędna liczba magiczna"
++
++#: .././repair/xfs_repair.c:109
++msgid "bad blocksize field"
++msgstr "błędne pole blocksize"
++
++#: .././repair/xfs_repair.c:110
++msgid "bad blocksize log field"
++msgstr "błędne pole logu blocksize"
++
++#: .././repair/xfs_repair.c:111
++msgid "bad or unsupported version"
++msgstr "błędna lub nie obsługiwana wersja"
++
++#: .././repair/xfs_repair.c:113
++msgid "filesystem mkfs-in-progress bit set"
++msgstr "ustawiony bit mkfs-in-progress systemu plików"
++
++#: .././repair/xfs_repair.c:115
++msgid "inconsistent filesystem geometry information"
++msgstr "niespójne informacje o geometrii systemu plików"
++
++#: .././repair/xfs_repair.c:117
++msgid "bad inode size or inconsistent with number of inodes/block"
++msgstr "błędny rozmiar i-węzła lub niespójność z liczbą i-węzłów/blok"
+-#: .././db/sb.c:343 .././db/sb.c:495 .././db/sb.c:640
+-#, c-format
+-msgid "%s: not in expert mode, writing disabled\n"
+-msgstr "%s: nie w trybie expert, zapis wyłączony\n"
++#: .././repair/xfs_repair.c:118
++msgid "bad sector size"
++msgstr "błędny rozmiar sektora"
+-#: .././db/sb.c:355
+-msgid "failed to read UUID from AG 0\n"
+-msgstr "nie udało się odczytać UUID-a z AG 0\n"
++#: .././repair/xfs_repair.c:120
++msgid "AGF geometry info conflicts with filesystem geometry"
++msgstr "informacje o geometrii AGF są w konflikcie z geometrią systemu plików"
+-#: .././db/sb.c:360
+-#, c-format
+-msgid "old UUID = %s\n"
+-msgstr "stary UUID = %s\n"
++#: .././repair/xfs_repair.c:122
++msgid "AGI geometry info conflicts with filesystem geometry"
++msgstr "informacje o geometrii AGI są w konflikcie z geometrią systemu plików"
+-#: .././db/sb.c:363
+-msgid "invalid UUID\n"
+-msgstr "błędny UUID\n"
++#: .././repair/xfs_repair.c:124
++msgid "AG superblock geometry info conflicts with filesystem geometry"
++msgstr "informacje o geometrii superbloku AG są w konflikcie z geometrią systemu plików"
+-#: .././db/sb.c:372 .././db/sb.c:500 .././db/sb.c:712
+-msgid "writing all SBs\n"
+-msgstr "zapisywanie wszystkich superbloków\n"
++#: .././repair/xfs_repair.c:125
++msgid "attempted to perform I/O beyond EOF"
++msgstr "próbowano wykonać operację we/wy poza końcem pliku"
+-#: .././db/sb.c:375
+-#, c-format
+-msgid "failed to set UUID in AG %d\n"
+-msgstr "nie udało się ustawić UUID-a w AG %d\n"
++#: .././repair/xfs_repair.c:127
++msgid "inconsistent filesystem geometry in realtime filesystem component"
++msgstr "niespójna geometria systemu plików w składniku realtime"
+-#: .././db/sb.c:380
+-#, c-format
+-msgid "new UUID = %s\n"
+-msgstr "nowy UUID = %s\n"
++#: .././repair/xfs_repair.c:129
++msgid "maximum indicated percentage of inodes > 100%"
++msgstr "określono maksymalny procent i-węzłów > 100%"
+-#: .././db/sb.c:388
+-#, c-format
+-msgid "failed to read UUID from AG %d\n"
+-msgstr "nie udało się odczytać UUID-a z AG %d\n"
++#: .././repair/xfs_repair.c:131
++msgid "inconsistent inode alignment value"
++msgstr "niespójna wartość wyrównania i-węzła"
+-#: .././db/sb.c:394
+-#, c-format
+-msgid "warning: UUID in AG %d differs to the primary SB\n"
+-msgstr "uwaga: UUID w AG %d różni się od głównego SB\n"
++#: .././repair/xfs_repair.c:133
++msgid "not enough secondary superblocks with matching geometry"
++msgstr "za mało zapasowych superbloków o pasującej geometrii"
+-#: .././db/sb.c:405
+-msgid "warning - external log specified for FS with an internal log\n"
+-msgstr "uwaga: podano log zewnętrzny dla systemu plików z logiem wewnętrznym\n"
++#: .././repair/xfs_repair.c:135
++msgid "bad stripe unit in superblock"
++msgstr "błędna jednostka pasa w superbloku"
+-#: .././db/sb.c:408
+-msgid "warning - no external log specified for FS with an external log\n"
+-msgstr "uwaga: nie podano logu zewnętrznego dla systemu plików z logiem zewnętrznym\n"
++#: .././repair/xfs_repair.c:137
++msgid "bad stripe width in superblock"
++msgstr "błędna szerokość pasa w superbloku"
+-#: .././db/sb.c:413
+-#, c-format
+-msgid "UUID = %s\n"
+-msgstr "UUID = %s\n"
++#: .././repair/xfs_repair.c:139
++msgid "bad shared version number in superblock"
++msgstr "błędny numer wersji współdzielenia w superbloku"
+-#: .././db/sb.c:424
+-msgid ""
+-"\n"
+-" write/print FS label\n"
+-"\n"
+-" Example:\n"
+-"\n"
+-" 'label'              - print label\n"
+-" 'label 123456789012' - write label\n"
+-" 'label --'           - write an empty label\n"
+-"\n"
+-"The print function checks the label in each SB and will warn if the labels\n"
+-"differ between AGs. The write commands will set the label in all AGs to the\n"
+-"specified value.  The maximum length of a label is 12 characters - use of a\n"
+-"longer label will result in truncation and a warning will be issued.\n"
+-"\n"
+-msgstr ""
+-"\n"
+-" zapisanie/wypisanie etykiety systemu plików\n"
+-"\n"
+-" Przykład:\n"
+-"\n"
+-" 'label'              - wypisanie etykiety\n"
+-" 'label 123456789012' - zapisanie etykiety\n"
+-" 'label --'           - zapisanie etykiety pustej\n"
+-"\n"
+-"Funkcja wypisująca sprawdza etykietę w każdym superbloku i ostrzega, jeśli\n"
+-"etykiety różnią się między AG. Polecenia zapisu ustawiają etykietw we\n"
+-"wszystkich AG na określoną wartość. Maksymalna długość etykiety to 12 znaków;\n"
+-"użycie etykiety dłuższej zaskutkuje ucięciem jej i wypisaniem ostrzeżenia.\n"
+-"\n"
++#: .././repair/xfs_repair.c:141
++msgid "bad CRC in superblock"
++msgstr "błędna suma kontrolna w superbloku"
+-#: .././db/sb.c:461
++#: .././repair/xfs_repair.c:146
+ #, c-format
+-msgid "%s: truncating label length from %d to %d\n"
+-msgstr "%s: skrócono długość etykiety z %d do %d\n"
++msgid "bad error code - %d\n"
++msgstr "błędny kod błędu - %d\n"
+-#: .././db/sb.c:503
++#: .././repair/xfs_repair.c:154
+ #, c-format
+-msgid "failed to set label in AG %d\n"
+-msgstr "nie udało się ustawić etykiety w AG %d\n"
++msgid "-%c %s option cannot have a value\n"
++msgstr "opcja -%c %s nie przyjmuje wartości\n"
+-#: .././db/sb.c:506
+-#, c-format
+-msgid "new label = \"%s\"\n"
+-msgstr "nowa etykieta = \"%s\"\n"
++#: .././repair/xfs_repair.c:245
++msgid "-o ihash option has been removed and will be ignored\n"
++msgstr "opcja -o ihash została usunięta i zostanie zignorowana\n"
+-#: .././db/sb.c:513
+-#, c-format
+-msgid "failed to read label in AG %d\n"
+-msgstr "nie udało się odczytać etykiety w AG %d\n"
++#: .././repair/xfs_repair.c:250
++msgid "-o bhash option cannot be used with -m option\n"
++msgstr "opcja -o bhash nie może być użyta wraz z opcją -m\n"
+-#: .././db/sb.c:519
+-#, c-format
+-msgid "warning: AG %d label differs\n"
+-msgstr "uwaga: etykieta w AG %d różni się\n"
++#: .././repair/xfs_repair.c:302
++msgid "-m option cannot be used with -o bhash option\n"
++msgstr "opcja -m nie może być użyta wraz z opcją -o bhash\n"
+-#: .././db/sb.c:521
++#: .././repair/xfs_repair.c:344
+ #, c-format
+-msgid "label = \"%s\"\n"
+-msgstr "etykieta = \"%s\"\n"
+-
+-#: .././db/sb.c:531
+ msgid ""
+ "\n"
+-" set/print feature bits in sb version\n"
+-"\n"
+-" Example:\n"
+-"\n"
+-" 'version'          - print current feature bits\n"
+-" 'version extflg'   - enable unwritten extents\n"
+-" 'version attr1'    - enable v1 inline extended attributes\n"
+-" 'version attr2'    - enable v2 inline extended attributes\n"
+-" 'version log2'     - enable v2 log format\n"
+-"\n"
+-"The version function prints currently enabled features for a filesystem\n"
+-"according to the version field of its primary superblock.\n"
+-"It can also be used to enable selected features, such as support for\n"
+-"unwritten extents.  The updated version is written into all AGs.\n"
+-"\n"
++"fatal error -- "
+ msgstr ""
+ "\n"
+-" ustawienie/wypisanie bitów cech w wersji superbloku\n"
+-"\n"
+-" Przykład:\n"
+-"\n"
+-" 'version'          - wypisanie bieżących bitów cech\n"
+-" 'version extflg'   - włączenie nie zapisanych ekstentów\n"
+-" 'version attr1'    - włączenie rozszerzonych atrybutów inline v1\n"
+-" 'version attr2'    - włączenie rozszerzonych atrybutów inline v2\n"
+-" 'version log2'     - włączenie formatu logu v2\n"
+-"\n"
+-"Funkcja 'version' wypisuje aktualnie włączone cechy dla systemu plików\n"
+-"zgodnie z polem wersji w głównym superbloku.\n"
+-"Może być używana także do włączania wybranych cech, takich jak obsługa\n"
+-"nie zapisanych ekstentów. Uaktualniona wersja jest zapisywana we wszystkich\n"
+-"AG.\n"
+-"\n"
+-
+-#: .././db/sb.c:560
+-msgid "Superblock has mismatched features2 fields, skipping modification\n"
+-msgstr "Superblok ma niepasujące pola features2, pominięto modyfikację\n"
+-
+-#: .././db/sb.c:659
+-msgid "unwritten extents flag is already enabled\n"
+-msgstr "flaga nie zapisanych ekstentów jest już włączona\n"
+-
+-#: .././db/sb.c:679
+-msgid "version 2 log format is already in use\n"
+-msgstr "format logu w wersji 2 jest już w użyciu\n"
+-
+-#: .././db/sb.c:706
+-#, c-format
+-msgid "%s: invalid version change command \"%s\"\n"
+-msgstr "%s: błędne polecenie zmiany wersji \"%s\"\n"
+-
+-#: .././db/sb.c:715
+-#, c-format
+-msgid "failed to set versionnum in AG %d\n"
+-msgstr "nie udało się ustawić versionnum w AG %d\n"
+-
+-#: .././db/sb.c:733
+-#, c-format
+-msgid "versionnum [0x%x+0x%x] = %s\n"
+-msgstr "versionnum [0x%x+0x%x] = %s\n"
++"błąd krytyczny - "
+-#: .././copy/xfs_copy.c:102
++#: .././repair/xfs_repair.c:456
+ #, c-format
+-msgid "Check logfile \"%s\" for more details\n"
+-msgstr "Więcej szczegółów w pliku logu \"%s\"\n"
++msgid "sb root inode value %<PRIu64> %sinconsistent with calculated value %u\n"
++msgstr "wartość i-węzła głównego superbloku %<PRIu64> %sniespójna z obliczoną wartością %u\n"
+-#: .././copy/xfs_copy.c:108
++#: .././repair/xfs_repair.c:463
+ #, c-format
+-msgid "%s:  could not write to logfile \"%s\".\n"
+-msgstr "%s: nie udało się zapisać pliku logu \"%s\".\n"
++msgid "resetting superblock root inode pointer to %u\n"
++msgstr "przestawiono wskaźnik i-węzła głównego superbloku na %u\n"
+-#: .././copy/xfs_copy.c:111
++#: .././repair/xfs_repair.c:467
+ #, c-format
+-msgid "Aborting XFS copy -- logfile error -- reason: %s\n"
+-msgstr "Przerwano XFS copy - błąd pliku logu - przyczyna: %s\n"
+-
+-#: .././copy/xfs_copy.c:126 .././copy/xfs_copy.c:286 .././copy/xfs_copy.c:563
+-#: .././copy/xfs_copy.c:570
+-msgid "Aborting XFS copy - reason"
+-msgstr "Przerwano XFS copy - przyczyna"
+-
+-#: .././copy/xfs_copy.c:140
+-msgid "THE FOLLOWING COPIES FAILED TO COMPLETE\n"
+-msgstr "NASTĘPUJĄCYCH KOPII NIE UDAŁO SIĘ UKOŃCZYĆ\n"
+-
+-#: .././copy/xfs_copy.c:144
+-msgid "write error"
+-msgstr "błąd zapisu"
+-
+-#: .././copy/xfs_copy.c:146
+-msgid "lseek64 error"
+-msgstr "błąd lseek64"
++msgid "would reset superblock root inode pointer to %u\n"
++msgstr "wskaźnik i-węzła głównego superbloku zostałby przestawiony na %u\n"
+-#: .././copy/xfs_copy.c:147
++#: .././repair/xfs_repair.c:479
+ #, c-format
+-msgid " at offset %lld\n"
+-msgstr " pod offsetem %lld\n"
++msgid "sb realtime bitmap inode %<PRIu64> %sinconsistent with calculated value %u\n"
++msgstr "i-węzeł bitmapy realtime superbloku %<PRIu64> %sniespójny z obliczoną wartością %u\n"
+-#: .././copy/xfs_copy.c:151
++#: .././repair/xfs_repair.c:486
+ #, c-format
+-msgid "All copies completed.\n"
+-msgstr "Wszystkie kopie ukończone.\n"
++msgid "resetting superblock realtime bitmap ino pointer to %u\n"
++msgstr "przestawiono wskaźnik i-węzła bitmapy realtime superbloku na %u\n"
+-#: .././copy/xfs_copy.c:154
++#: .././repair/xfs_repair.c:490
+ #, c-format
+-msgid "See \"%s\" for more details.\n"
+-msgstr "Więcej szczegółów w \"%s\".\n"
++msgid "would reset superblock realtime bitmap ino pointer to %u\n"
++msgstr "wskaźnik i-węzła bitmapy realtime superbloku zostałby przestawiony na %u\n"
+-#: .././copy/xfs_copy.c:255
++#: .././repair/xfs_repair.c:502
+ #, c-format
+-msgid "%s:  write error on target %d \"%s\" at offset %lld\n"
+-msgstr "%s: błąd zapisu przy celu %d \"%s\" pod offsetem %lld\n"
++msgid "sb realtime summary inode %<PRIu64> %sinconsistent with calculated value %u\n"
++msgstr "i-węzeł opisu realtime superbloku %<PRIu64> %sniespójny z obliczoną wartością %u\n"
+-#: .././copy/xfs_copy.c:260
++#: .././repair/xfs_repair.c:509
+ #, c-format
+-msgid "%s:  lseek64 error on target %d \"%s\" at offset %lld\n"
+-msgstr "%s: błąd lseek64 przy celu %d \"%s\" pod offsetem %lld\n"
++msgid "resetting superblock realtime summary ino pointer to %u\n"
++msgstr "przestawiono wskaźnik i-węzła opisu realtime superbloku na %u\n"
+-#: .././copy/xfs_copy.c:266
++#: .././repair/xfs_repair.c:513
+ #, c-format
+-msgid "Aborting target %d - reason"
+-msgstr "Przerywano zapis celu %d - przyczyna"
+-
+-#: .././copy/xfs_copy.c:270
+-msgid "Aborting XFS copy - no more targets.\n"
+-msgstr "Przerwano XFS copy - nie ma więcej celów.\n"
++msgid "would reset superblock realtime summary ino pointer to %u\n"
++msgstr "wskaźnik i-węzła opisu realtime superbloku zostałby przestawiony na %u\n"
+-#: .././copy/xfs_copy.c:281
+-#, c-format
+-msgid "%s:  thread %d died unexpectedly, target \"%s\" incomplete\n"
+-msgstr "%s: wątek %d zmarł nieoczekiwanie, cel \"%s\" niekompletny\n"
++#: .././repair/xfs_repair.c:559
++msgid ""
++"Primary superblock would have been modified.\n"
++"Cannot proceed further in no_modify mode.\n"
++"Exiting now.\n"
++msgstr ""
++"Główny superblok zostałby zmodyfikowany.\n"
++"Nie można kontynuować w trybie bez modyfikacji.\n"
++"Zakończono.\n"
+-#: .././copy/xfs_copy.c:283
+-#, c-format
+-msgid "%s:  offset was probably %lld\n"
+-msgstr "%s: offset prawdopodobnie %lld\n"
++#: .././repair/xfs_repair.c:567
++msgid ""
++"Primary superblock bad after phase 1!\n"
++"Exiting now.\n"
++msgstr ""
++"Nieprawidłowy główny superblok po fazie 1!\n"
++"Koniec działania.\n"
+-#: .././copy/xfs_copy.c:294
+-#, c-format
+-msgid "%s: Unknown child died (should never happen!)\n"
+-msgstr "%s: Nieznany potomek zmarł (nie powinno się zdarzyć!)\n"
++#: .././repair/xfs_repair.c:583
++msgid ""
++"Cannot get host filesystem geometry.\n"
++"Repair may fail if there is a sector size mismatch between\n"
++"the image and the host filesystem.\n"
++msgstr ""
++"Nie można pobrać geometrii systemu plików hosta.\n"
++"Naprawienie może się nie powieść, jeśli istnieje niespójność rozmiaru\n"
++"sektora między obrazem a systemem plików hosta.\n"
+-#: .././copy/xfs_copy.c:304
+-#, c-format
+-msgid "Usage: %s [-bd] [-L logfile] source target [target ...]\n"
+-msgstr "Składnia: %s [-bd] [-L plik_logu] źródło cel [cel ...]\n"
++#: .././repair/xfs_repair.c:595
++msgid ""
++"Sector size on host filesystem larger than image sector size.\n"
++"Cannot turn off direct IO, so exiting.\n"
++msgstr ""
++"Rozmiar sektora na systemie plików hosta większy niż rozmiar sektora obrazu.\n"
++"Nie można wyłączyć bezpośredniego we/wy - zakończono działanie.\n"
+-#: .././copy/xfs_copy.c:386
++#: .././repair/xfs_repair.c:608
+ #, c-format
+-msgid "%s:  lseek64 failure at offset %lld\n"
+-msgstr "%s: niepowodzenie lseek64 pod offsetem %lld\n"
++msgid "%s: cannot repair this filesystem.  Sorry.\n"
++msgstr "%s: niestety nie można naprawić tego systemu plików.\n"
+-#: .././copy/xfs_copy.c:401
++#: .././repair/xfs_repair.c:667
+ #, c-format
+-msgid "assert error:  buf->length = %d, buf->size = %d\n"
+-msgstr "błąd zapewnienia: buf->length = %d, buf->size = %d\n"
++msgid "        - reporting progress in intervals of %s\n"
++msgstr "        - informowanie o postępie w odstępach %s\n"
+-#: .././copy/xfs_copy.c:408
++#: .././repair/xfs_repair.c:712
+ #, c-format
+-msgid "%s:  read failure at offset %lld\n"
+-msgstr "%s: błąd odczytu pod offsetem %lld\n"
++msgid "        - max_mem = %lu, icount = %<PRIu64>, imem = %<PRIu64>, dblock = %<PRIu64>, dmem = %<PRIu64>\n"
++msgstr "        - max_mem = %lu, icount = %<PRIu64>, imem = %<PRIu64>, dblock = %<PRIu64>, dmem = %<PRIu64>\n"
+-#: .././copy/xfs_copy.c:561
++#: .././repair/xfs_repair.c:721
+ #, c-format
+-msgid "%s: couldn't open log file \"%s\"\n"
+-msgstr "%s: nie udało się otworzyć pliku logu \"%s\"\n"
++msgid ""
++"Required memory for repair is greater that the maximum specified\n"
++"with the -m option. Please increase it to at least %lu.\n"
++msgstr ""
++"Pamięć wymagana do naprawy przekracza maksimum określone opcją -m.\n"
++"Proszę ją zwiększyć do co najmniej %lu.\n"
+-#: .././copy/xfs_copy.c:568
++#: .././repair/xfs_repair.c:726
+ #, c-format
+-msgid "%s: couldn't set up logfile stream\n"
+-msgstr "%s: nie udało się ustanowić strumienia pliku logu\n"
++msgid ""
++"Memory available for repair (%luMB) may not be sufficient.\n"
++"At least %luMB is needed to repair this filesystem efficiently\n"
++"If repair fails due to lack of memory, please\n"
++msgstr ""
++"Pamięć dostępna przy naprawie (%luMB) może nie być wystarczająca.\n"
++"Aby wydajnie naprawić ten system plików, niezbędne jest co najmniej %luMB.\n"
++"Jeśli naprawa nie powiedzie się z powodu braku pamięci, proszę\n"
+-#: .././copy/xfs_copy.c:580
+-msgid "Couldn't allocate target array\n"
+-msgstr "Nie udało się przydzielić tablicy celów\n"
++#: .././repair/xfs_repair.c:732
++msgid "turn prefetching off (-P) to reduce the memory footprint.\n"
++msgstr "wyłączyć prefetch (-P), aby zmniejszyć zużycie pamięci.\n"
+-#: .././copy/xfs_copy.c:595
++#: .././repair/xfs_repair.c:735
+ #, c-format
+-msgid "%s: couldn't register atexit function.\n"
+-msgstr "%s: nie udało się zarejestrować funkcji atexit.\n"
++msgid "increase system RAM and/or swap space to at least %luMB.\n"
++msgstr "proszę rozszerzyć rozmiar RAM systemu i/lub przestrzeni wymiany do co najmniej %luMB.\n"
+-#: .././copy/xfs_copy.c:604
++#: .././repair/xfs_repair.c:750
+ #, c-format
+-msgid "%s:  couldn't open source \"%s\"\n"
+-msgstr "%s: nie udało się otworzyć źródła \"%s\"\n"
++msgid "        - block cache size set to %d entries\n"
++msgstr "        - rozmiar bufora bloku ustawiony na %d wpisów\n"
+-#: .././copy/xfs_copy.c:610
+-#, c-format
+-msgid "%s:  couldn't stat source \"%s\"\n"
+-msgstr "%s: nie udało się wykonać stat na źródle \"%s\"\n"
++#: .././repair/xfs_repair.c:774
++msgid "Found unsupported filesystem features.  Exiting now.\n"
++msgstr "Znaleziono nie obsługiwane cechy systemu plików. Zakończono.\n"
+-#: .././copy/xfs_copy.c:620
++#: .././repair/xfs_repair.c:792
+ #, c-format
+-msgid "%s: Cannot set direct I/O flag on \"%s\".\n"
+-msgstr "%s: Nie można ustawić flagi bezpośredniego we/wy na \"%s\".\n"
++msgid "No modify flag set, skipping phase 5\n"
++msgstr "Ustawiono flagę braku modyfikacji, pominięto fazę 5\n"
+-#: .././copy/xfs_copy.c:625
+-#, c-format
+-msgid "%s: xfsctl on file \"%s\" failed.\n"
+-msgstr "%s: xfsctl na pliku \"%s\" nie powiodło się.\n"
++#: .././repair/xfs_repair.c:811
++msgid "Inode allocation btrees are too corrupted, skipping phases 6 and 7\n"
++msgstr "B-drzewa alokacji i-węzłów są zbyt uszkodzone, pominięto fazy 6 i 7\n"
+-#: .././copy/xfs_copy.c:648
+-#, c-format
+-msgid "%s:  Warning -- a filesystem is mounted on the source device.\n"
+-msgstr "%s: Uwaga - system plików jest podmontowany na urządzeniu źródłowym.\n"
++#: .././repair/xfs_repair.c:817
++msgid "Warning:  no quota inodes were found.  Quotas disabled.\n"
++msgstr "Uwaga: nie znaleziono i-węzłów limitów (quot). Limity wyłączone.\n"
+-#: .././copy/xfs_copy.c:651
+-msgid "\t\tGenerated copies may be corrupt unless the source is\n"
+-msgstr "\t\tWygenerowane kopie mogą być uszkodzone o ile źródło nie jest\n"
++#: .././repair/xfs_repair.c:820
++msgid "Warning:  no quota inodes were found.  Quotas would be disabled.\n"
++msgstr "Uwaga: nie znaleziono i-węzłów limitów (quot). Limity zostałyby wyłączone.\n"
+-#: .././copy/xfs_copy.c:653
+-msgid "\t\tunmounted or mounted read-only.  Copy proceeding...\n"
+-msgstr "\t\todmontowane lub podmontowane tylko do odczytu. Kopiowanie w trakcie...\n"
++#: .././repair/xfs_repair.c:825
++msgid "Warning:  quota inodes were cleared.  Quotas disabled.\n"
++msgstr "Uwaga: i-węzły limitów (quot) były wyczyszczone. Limity wyłączone.\n"
+-#: .././copy/xfs_copy.c:670
+-#, c-format
++#: .././repair/xfs_repair.c:828
++msgid "Warning:  quota inodes would be cleared.  Quotas would be disabled.\n"
++msgstr "Uwaga: i-węzły limitów (quot) zostałyby wyczyszczone. Limity zostałyby wyłączone.\n"
++
++#: .././repair/xfs_repair.c:834
+ msgid ""
+-"%s: couldn't initialize XFS library\n"
+-"%s: Aborting.\n"
++"Warning:  user quota information was cleared.\n"
++"User quotas can not be enforced until limit information is recreated.\n"
+ msgstr ""
+-"%s: nie udało się zainicjować biblioteki XFS\n"
+-"%s: Przerwano.\n"
++"Uwaga: informacje o limitach użytkowników były wyczyszczone.\n"
++"Limity użytkowników nie mogą być wymuszone do czasu odtworzenia informacji.\n"
+-#: .././copy/xfs_copy.c:684
+-#, c-format
++#: .././repair/xfs_repair.c:838
+ msgid ""
+-"%s: %s filesystem failed to initialize\n"
+-"%s: Aborting.\n"
++"Warning:  user quota information would be cleared.\n"
++"User quotas could not be enforced until limit information was recreated.\n"
+ msgstr ""
+-"%s: Nie powiodła się inicjalizacja systemu plików %s\n"
+-"%s: Przerwano.\n"
++"Uwaga: informacje o limitach użytkowników zostałyby wyczyszczone.\n"
++"Limity użytkowników nie mogłyby być wymuszone do czasu odtworzenia informacji.\n"
+-#: .././copy/xfs_copy.c:688
+-#, c-format
++#: .././repair/xfs_repair.c:846
+ msgid ""
+-"%s %s filesystem failed to initialize\n"
+-"%s: Aborting.\n"
++"Warning:  group quota information was cleared.\n"
++"Group quotas can not be enforced until limit information is recreated.\n"
+ msgstr ""
+-"%s: Nie powiodła się inicjalizacja systemu plików %s\n"
+-"%s: Przerwano.\n"
++"Uwaga: informacje o limitach grup były wyczyszczone.\n"
++"Limity grup nie mogą być wymuszone do czasu odtworzenia informacji.\n"
+-#: .././copy/xfs_copy.c:692
+-#, c-format
++#: .././repair/xfs_repair.c:850
+ msgid ""
+-"%s: %s has an external log.\n"
+-"%s: Aborting.\n"
++"Warning:  group quota information would be cleared.\n"
++"Group quotas could not be enforced until limit information was recreated.\n"
+ msgstr ""
+-"%s: %s ma zewnętrzny log.\n"
+-"%s: Przerwano.\n"
++"Uwaga: informacje o limitach grup zostałyby wyczyszczone.\n"
++"Limity grup nie mogłyby być wymuszone do czasu odtworzenia informacji.\n"
+-#: .././copy/xfs_copy.c:696
+-#, c-format
++#: .././repair/xfs_repair.c:858
+ msgid ""
+-"%s: %s has a real-time section.\n"
+-"%s: Aborting.\n"
++"Warning:  project quota information was cleared.\n"
++"Project quotas can not be enforced until limit information is recreated.\n"
+ msgstr ""
+-"%s: %s ma sekcję real-time.\n"
+-"%s: Przerwano.\n"
++"Uwaga: informacje o limitach projektów były wyczyszczone.\n"
++"Limity projektów nie mogą być wymuszone do czasu odtworzenia informacji.\n"
+-#: .././copy/xfs_copy.c:721
++#: .././repair/xfs_repair.c:862
+ msgid ""
+-"Error:  filesystem block size is smaller than the disk sectorsize.\n"
+-"Aborting XFS copy now.\n"
++"Warning:  project quota information would be cleared.\n"
++"Project quotas could not be enforced until limit information was recreated.\n"
+ msgstr ""
+-"Błąd: rozmiar bloku systemu plików jest mniejszy niż rozmiar sektora dysku.\n"
+-"Przerwano XFS copy.\n"
++"Uwaga: informacje o limitach projektów zostałyby wyczyszczone.\n"
++"Limity projektów nie mogłyby być wymuszone do czasu odtworzenia informacji.\n"
+-#: .././copy/xfs_copy.c:742
+-#, c-format
+-msgid "Creating file %s\n"
+-msgstr "Tworzenie pliku %s\n"
++#: .././repair/xfs_repair.c:873
++msgid "No modify flag set, skipping filesystem flush and exiting.\n"
++msgstr "Flaga braku modyfikacji ustawiona, pominięto zrzucanie systemu plików, zakończono.\n"
++
++#: .././repair/xfs_repair.c:892
++msgid "Note - quota info will be regenerated on next quota mount.\n"
++msgstr "Uwaga - informacje o limitach zostaną ponownie wygenerowane przy następnym montowaniu.\n"
+-#: .././copy/xfs_copy.c:760
++#: .././repair/xfs_repair.c:899
+ #, c-format
+ msgid ""
+-"%s:  a filesystem is mounted on target device \"%s\".\n"
+-"%s cannot copy to mounted filesystems.  Aborting\n"
++"Note - stripe unit (%d) and width (%d) fields have been reset.\n"
++"Please set with mount -o sunit=<value>,swidth=<value>\n"
+ msgstr ""
+-"%s: na urządzeniu docelowym \"%s\" jest podmontowany system plików.\n"
+-"%s nie może kopiować na podmontowane systemy plików. Przerwano.\n"
++"Uwaga - pola jednostki pasa (%d) i szerokości pasa (%d) zostały przestawione.\n"
++"Proszę ustawić przy użyciu mount -o sunit=<wartość>,swidth=<wartość>\n"
+-#: .././copy/xfs_copy.c:771
+-#, c-format
+-msgid "%s:  couldn't open target \"%s\"\n"
+-msgstr "%s: nie udało się otworzyć celu \"%s\"\n"
++#: .././repair/xfs_repair.c:922
++msgid "done\n"
++msgstr "gotowe\n"
++
++#: .././repair/xfs_repair.c:926
++msgid "Repair of readonly mount complete.  Immediate reboot encouraged.\n"
++msgstr "Naprawa systemu zamontowanego tylko do odczytu zakończona. Zalecany natychmiastowy restart systemu.\n"
+-#: .././copy/xfs_copy.c:781
++#: .././rtcp/xfs_rtcp.c:30
+ #, c-format
+-msgid "%s:  cannot grow data section.\n"
+-msgstr "%s: nie można powiększyć sekcji danych.\n"
++msgid "%s [-e extsize] [-p] [-V] source target\n"
++msgstr "%s [-e rozm_fragmentu] [-p] [-V] źródło cel\n"
+-#: .././copy/xfs_copy.c:789
++#: .././rtcp/xfs_rtcp.c:69
+ #, c-format
+-msgid "%s:  xfsctl on \"%s\" failed.\n"
+-msgstr "%s: xfsctl na \"%s\" nie powiodło się.\n"
++msgid "%s: must specify files to copy\n"
++msgstr "%s: trzeba podać pliki do skopiowania\n"
+-#: .././copy/xfs_copy.c:808
++#: .././rtcp/xfs_rtcp.c:84
+ #, c-format
+-msgid "%s:  failed to write last block\n"
+-msgstr "%s: nie udało się zapisać ostatniego bloku\n"
++msgid "%s: stat64 of %s failed\n"
++msgstr "%s: stat64 na %s nie powiodło się\n"
+-#: .././copy/xfs_copy.c:810
++#: .././rtcp/xfs_rtcp.c:91
+ #, c-format
+-msgid "\tIs target \"%s\" too small?\n"
+-msgstr "\tCzy cel \"%s\" jest zbyt mały?\n"
++msgid "%s: final argument is not directory\n"
++msgstr "%s: ostatni argument nie jest katalogiem\n"
+-#: .././copy/xfs_copy.c:820
+-msgid "Couldn't initialize global thread mask\n"
+-msgstr "Nie udało się zainicjować globalnej maski wątków\n"
++#: .././rtcp/xfs_rtcp.c:138
++#, c-format
++msgid "%s: failed stat64 on %s: %s\n"
++msgstr "%s: nie udało się wykonać stat64 na %s: %s\n"
+-#: .././copy/xfs_copy.c:827
+-msgid "Error initializing wbuf 0\n"
+-msgstr "Błąd inicjalizacji wbuf 0\n"
++#: .././rtcp/xfs_rtcp.c:159
++#, c-format
++msgid "%s: %s filesystem has no realtime partition\n"
++msgstr "%s: system plików %s nie ma partycji realtime\n"
+-#: .././copy/xfs_copy.c:835
+-msgid "Error initializing btree buf 1\n"
+-msgstr "Błąd inicjalizacji btree buf 1\n"
++#: .././rtcp/xfs_rtcp.c:180 .././rtcp/xfs_rtcp.c:208
++#, c-format
++msgid "%s: open of %s failed: %s\n"
++msgstr "%s: otwarcie %s nie powiodło się: %s\n"
+-#: .././copy/xfs_copy.c:840
+-msgid "Error creating first semaphore.\n"
+-msgstr "Błąd tworzenia pierwszego semafora.\n"
++#: .././rtcp/xfs_rtcp.c:197
++#, c-format
++msgid "%s: set attributes on %s failed: %s\n"
++msgstr "%s: ustawienie atrybutów dla %s nie powiodło się: %s\n"
+-#: .././copy/xfs_copy.c:855
+-msgid "Couldn't malloc space for thread args\n"
+-msgstr "Nie udało się przydzielić miejsca na argumenty wątku\n"
++#: .././rtcp/xfs_rtcp.c:215
++#, c-format
++msgid "%s: get attributes of %s failed: %s\n"
++msgstr "%s: pobranie atrybutów %s nie powiodło się: %s\n"
+-#: .././copy/xfs_copy.c:867
++#: .././rtcp/xfs_rtcp.c:225 .././rtcp/xfs_rtcp.c:262
+ #, c-format
+-msgid "Error creating thread mutex %d\n"
+-msgstr "Błąd podczas tworzenia sekcji krytycznej %d wątku\n"
++msgid "%s: %s is not a realtime file.\n"
++msgstr "%s: %s nie jest plikiem realtime.\n"
+-#: .././copy/xfs_copy.c:884
++#: .././rtcp/xfs_rtcp.c:235
+ #, c-format
+-msgid "Error creating thread for target %d\n"
+-msgstr "Błąd podczas tworzenia wątku dla celu %d\n"
++msgid "%s: %s file extent size is %d, instead of %d.\n"
++msgstr "%s: plik %s ma rozmiar ekstentu %d zamiast %d.\n"
+-#: .././copy/xfs_copy.c:974
+-msgid "WARNING:  source filesystem inconsistent.\n"
+-msgstr "UWAGA: źródłowy system plików niespójny.\n"
++#: .././rtcp/xfs_rtcp.c:248 .././rtcp/xfs_rtcp.c:271
++#, c-format
++msgid "%s: open of %s source failed: %s\n"
++msgstr "%s: otwarcie źródła %s nie powiodło się: %s\n"
+-#: .././copy/xfs_copy.c:976
+-msgid "  A leaf btree rec isn't a leaf.  Aborting now.\n"
+-msgstr " Liść rekordu b-drzewa nie jest liściem. Przerwano.\n"
++#: .././rtcp/xfs_rtcp.c:285
++#, c-format
++msgid "%s: couldn't get direct I/O information: %s\n"
++msgstr "%s: nie udało się uzyskać informacji o bezpośrednim we/wy: %s\n"
+-#~ msgid "Unknown inode format.\n"
+-#~ msgstr "Nieznany format i-węzła.\n"
++#: .././rtcp/xfs_rtcp.c:295
++#, c-format
++msgid "%s: extent size %d not a multiple of %d.\n"
++msgstr "%s: rozmiar ekstentu %d nie jest wielokrotnością %d.\n"
+-# XXX msgid bug: "0x" prefix for decimal number
+-#~ msgid "inode 0x%<PRIu64> bad # of bmap records (%u, min - %u, max - %u)\n"
+-#~ msgstr "błędna liczba rekordów bmap w i-węźle 0x%<PRIu64> (%u, minimum - %u, maksimum - %u)\n"
++#: .././rtcp/xfs_rtcp.c:309
++#, c-format
++msgid "The size of %s is not a multiple of %d.\n"
++msgstr "Rozmiar %s nie jest wielokrotnością %d.\n"
+-#~ msgid "could not allocate expanded nlink array\n"
+-#~ msgstr "Nie udało się przydzielić rozszerzonej tablicy nlink\n"
++#: .././rtcp/xfs_rtcp.c:312
++#, c-format
++msgid "%s will be padded to %lld bytes.\n"
++msgstr "%s: zostanie dopełniony do %lld bajtów.\n"
+-#~ msgid "bmap of block #%u of inode %<PRIu64> failed\n"
+-#~ msgstr "bmap bloku #%u i-węzła %<PRIu64> nie powiodło się\n"
++#: .././rtcp/xfs_rtcp.c:318
++#, c-format
++msgid "Use the -p option to pad %s to a size which is a multiple of %d bytes.\n"
++msgstr "Można użyć opcji -p do dopełnienia %s do rozmiaru będącego wielokrotnością %d bajtów.\n"
+-#~ msgid "error following ag %d unlinked list\n"
+-#~ msgstr "błąd podczas podążania za odłączoną listą ag %d\n"
++#: .././rtcp/xfs_rtcp.c:360
++#, c-format
++msgid "%s: write error: %s\n"
++msgstr "%s: błąd zapisu: %s\n"
+-#~ msgid "ts_alloc: cannot allocate thread specific storage\n"
+-#~ msgstr "ts_alloc: nie można przydzielić miejsca dla wątku\n"
++#: .././rtcp/xfs_rtcp.c:388
++#, c-format
++msgid "%s: could not open %s: %s\n"
++msgstr "%s: nie udało się otworzyć %s: %s\n"
+diff --git a/repair/agheader.c b/repair/agheader.c
+index fc5dac9..416dbd8 100644
+--- a/repair/agheader.c
++++ b/repair/agheader.c
+@@ -245,13 +245,17 @@ compare_sb(xfs_mount_t *mp, xfs_sb_t *sb)
+  * superblocks, not just the secondary superblocks.
+  */
+ static int
+-secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb,
+-      xfs_agnumber_t i)
++secondary_sb_wack(
++      struct xfs_mount *mp,
++      struct xfs_buf  *sbuf,
++      struct xfs_sb   *sb,
++      xfs_agnumber_t  i)
+ {
+-      int do_bzero;
+-      int size;
+-      char *ip;
+-      int rval;
++      struct xfs_dsb  *dsb = XFS_BUF_TO_SBP(sbuf);
++      int             do_bzero = 0;
++      int             size;
++      char            *ip;
++      int             rval = 0;;
+       rval = do_bzero = 0;
+@@ -334,12 +338,18 @@ secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb,
+       }
+       /*
+-       * quota inodes and flags in secondary superblocks
+-       * are never set by mkfs.  However, they could be set
+-       * in a secondary if a fs with quotas was growfs'ed since
+-       * growfs copies the new primary into the secondaries.
++       * quota inodes and flags in secondary superblocks are never set by
++       * mkfs.  However, they could be set in a secondary if a fs with quotas
++       * was growfs'ed since growfs copies the new primary into the
++       * secondaries.
++       *
++       * Also, the in-core inode flags now have different meaning to the
++       * on-disk flags, and so libxfs_sb_to_disk cannot directly write the
++       * sb_gquotino/sb_pquotino fields without specific sb_qflags being set.
++       * Hence we need to zero those fields directly in the sb buffer here.
+        */
+-      if (sb->sb_inprogress == 1 && sb->sb_uquotino)  {
++
++      if (sb->sb_inprogress == 1 && sb->sb_uquotino != NULLFSINO)  {
+               if (!no_modify)
+                       sb->sb_uquotino = 0;
+               if (sb->sb_versionnum & XR_PART_SECSB_VNMASK || !do_bzero)  {
+@@ -352,9 +362,11 @@ secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb,
+                       rval |= XR_AG_SB_SEC;
+       }
+-      if (sb->sb_inprogress == 1 && sb->sb_gquotino)  {
+-              if (!no_modify)
++      if (sb->sb_inprogress == 1 && sb->sb_gquotino != NULLFSINO)  {
++              if (!no_modify) {
+                       sb->sb_gquotino = 0;
++                      dsb->sb_gquotino = 0;
++              }
+               if (sb->sb_versionnum & XR_PART_SECSB_VNMASK || !do_bzero)  {
+                       rval |= XR_AG_SB;
+                       do_warn(
+@@ -365,9 +377,11 @@ secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb,
+                       rval |= XR_AG_SB_SEC;
+       }
+-      if (sb->sb_inprogress == 1 && sb->sb_pquotino)  {
+-              if (!no_modify)
++      if (sb->sb_inprogress == 1 && sb->sb_pquotino != NULLFSINO)  {
++              if (!no_modify) {
+                       sb->sb_pquotino = 0;
++                      dsb->sb_pquotino = 0;
++              }
+               if (sb->sb_versionnum & XR_PART_SECSB_VNMASK || !do_bzero)  {
+                       rval |= XR_AG_SB;
+                       do_warn(
+diff --git a/repair/attr_repair.c b/repair/attr_repair.c
+index 5dd7e5f..a27a3ec 100644
+--- a/repair/attr_repair.c
++++ b/repair/attr_repair.c
+@@ -25,7 +25,7 @@
+ #include "protos.h"
+ #include "dir2.h"
+-static int xfs_acl_valid(xfs_acl_disk_t *daclp);
++static int xfs_acl_valid(struct xfs_mount *mp, struct xfs_acl *daclp);
+ static int xfs_mac_valid(xfs_mac_label_t *lp);
+ /*
+@@ -734,11 +734,15 @@ verify_da_path(xfs_mount_t       *mp,
+  * If value is non-zero, then a remote attribute is being passed in
+  */
+ static int
+-valuecheck(char *namevalue, char *value, int namelen, int valuelen)
++valuecheck(
++      struct xfs_mount *mp,
++      char            *namevalue,
++      char            *value,
++      int             namelen,
++      int             valuelen)
+ {
+       /* for proper alignment issues, get the structs and memmove the values */
+       xfs_mac_label_t macl;
+-      xfs_acl_t thisacl;
+       void *valuep;
+       int clearit = 0;
+@@ -746,18 +750,23 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen)
+                       (strncmp(namevalue, SGI_ACL_DEFAULT,
+                               SGI_ACL_DEFAULT_SIZE) == 0)) {
+               if (value == NULL) {
+-                      memset(&thisacl, 0, sizeof(xfs_acl_t));
+-                      memmove(&thisacl, namevalue+namelen, valuelen);
+-                      valuep = &thisacl;
++                      valuep = malloc(valuelen);
++                      if (!valuep)
++                              do_error(_("No memory for ACL check!\n"));
++                      memcpy(valuep, namevalue + namelen, valuelen);
+               } else
+                       valuep = value;
+-              if (xfs_acl_valid((xfs_acl_disk_t *)valuep) != 0) {
++              if (xfs_acl_valid(mp, valuep) != 0) {
+                       clearit = 1;
+                       do_warn(
+       _("entry contains illegal value in attribute named SGI_ACL_FILE "
+         "or SGI_ACL_DEFAULT\n"));
+               }
++
++              if (valuep != value)
++                      free(valuep);
++
+       } else if (strncmp(namevalue, SGI_MAC_FILE, SGI_MAC_FILE_SIZE) == 0) {
+               if (value == NULL) {
+                       memset(&macl, 0, sizeof(xfs_mac_label_t));
+@@ -800,6 +809,7 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen)
+  */
+ static int
+ process_shortform_attr(
++      struct xfs_mount *mp,
+       xfs_ino_t       ino,
+       xfs_dinode_t    *dip,
+       int             *repair)
+@@ -904,7 +914,7 @@ process_shortform_attr(
+               /* Only check values for root security attributes */
+               if (currententry->flags & XFS_ATTR_ROOT)
+-                     junkit = valuecheck((char *)&currententry->nameval[0],
++                     junkit = valuecheck(mp, (char *)&currententry->nameval[0],
+                                       NULL, currententry->namelen, 
+                                       currententry->valuelen);
+@@ -1039,6 +1049,7 @@ rmtval_get(xfs_mount_t *mp, xfs_ino_t ino, blkmap_t *blkmap,
+ static int
+ process_leaf_attr_local(
++      struct xfs_mount        *mp,
+       xfs_attr_leafblock_t    *leaf,
+       int                     i,
+       xfs_attr_leaf_entry_t   *entry,
+@@ -1076,7 +1087,7 @@ process_leaf_attr_local(
+       /* Only check values for root security attributes */
+       if (entry->flags & XFS_ATTR_ROOT) {
+-              if (valuecheck((char *)&local->nameval[0], NULL, 
++              if (valuecheck(mp, (char *)&local->nameval[0], NULL, 
+                               local->namelen, be16_to_cpu(local->valuelen))) {
+                       do_warn(
+       _("bad security value for attribute entry %d in attr block %u, inode %" PRIu64 "\n"),
+@@ -1134,7 +1145,7 @@ process_leaf_attr_remote(
+                       i, ino);
+               goto bad_free_out;
+       }
+-      if (valuecheck((char *)&remotep->name[0], value, remotep->namelen,
++      if (valuecheck(mp, (char *)&remotep->name[0], value, remotep->namelen,
+                               be32_to_cpu(remotep->valuelen))) {
+               do_warn(
+       _("remote attribute value check failed for entry %d, inode %" PRIu64 "\n"),
+@@ -1216,15 +1227,15 @@ process_leaf_attr_block(
+                       break;  /* got an overlap */
+               }
+-              if (entry->flags & XFS_ATTR_LOCAL) 
+-                      thissize = process_leaf_attr_local(leaf, i, entry,
++              if (entry->flags & XFS_ATTR_LOCAL)
++                      thissize = process_leaf_attr_local(mp, leaf, i, entry,
+                                               last_hashval, da_bno, ino);
+               else
+                       thissize = process_leaf_attr_remote(leaf, i, entry,
+                                               last_hashval, da_bno, ino,
+                                               mp, blkmap);
+               if (thissize < 0) {
+-                      clearit = 1;                            
++                      clearit = 1;
+                       break;
+               }
+@@ -1608,23 +1619,27 @@ process_longform_attr(
+ static int
+-xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl)
++xfs_acl_from_disk(
++      struct xfs_mount        *mp,
++      struct xfs_icacl        **aclp,
++      struct xfs_acl          *dacl)
+ {
++      struct xfs_icacl        *acl;
++      struct xfs_icacl_entry  *ace;
++      struct xfs_acl_entry    *dace;
+       int                     count;
+-      xfs_acl_t               *acl;
+-      xfs_acl_entry_t         *ace;
+-      xfs_acl_entry_disk_t    *dace, *end;
++      int                     i;
+       count = be32_to_cpu(dacl->acl_cnt);
+-      if (count > XFS_ACL_MAX_ENTRIES) {
++      if (count > XFS_ACL_MAX_ENTRIES(mp)) {
+               do_warn(_("Too many ACL entries, count %d\n"), count);
+               *aclp = NULL;
+               return EINVAL;
+       }
+-      end = &dacl->acl_entry[0] + count;
+-      acl = malloc((int)((char *)end - (char *)dacl));
++      acl = malloc(sizeof(struct xfs_icacl) +
++                   count * sizeof(struct xfs_icacl_entry));
+       if (!acl) {
+               do_warn(_("cannot malloc enough for ACL attribute\n"));
+               do_warn(_("SKIPPING this ACL\n"));
+@@ -1633,8 +1648,10 @@ xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl)
+       }
+       acl->acl_cnt = count;
+-      ace = &acl->acl_entry[0];
+-      for (dace = &dacl->acl_entry[0]; dace < end; ace++, dace++) {
++      for (i = 0; i < count; i++) {
++              ace = &acl->acl_entry[i];
++              dace = &dacl->acl_entry[i];
++
+               ace->ae_tag = be32_to_cpu(dace->ae_tag);
+               ace->ae_id = be32_to_cpu(dace->ae_id);
+               ace->ae_perm = be16_to_cpu(dace->ae_perm);
+@@ -1667,7 +1684,7 @@ process_attributes(
+       if (aformat == XFS_DINODE_FMT_LOCAL) {
+               ASSERT(be16_to_cpu(asf->hdr.totsize) <=
+                       XFS_DFORK_ASIZE(dip, mp));
+-              err = process_shortform_attr(ino, dip, repair);
++              err = process_shortform_attr(mp, ino, dip, repair);
+       } else if (aformat == XFS_DINODE_FMT_EXTENTS ||
+                                       aformat == XFS_DINODE_FMT_BTREE)  {
+                       err = process_longform_attr(mp, ino, dip, blkmap,
+@@ -1686,17 +1703,19 @@ process_attributes(
+  * Validate an ACL
+  */
+ static int
+-xfs_acl_valid(xfs_acl_disk_t *daclp)
++xfs_acl_valid(
++      struct xfs_mount *mp,
++      struct xfs_acl  *daclp)
+ {
+-      xfs_acl_t       *aclp = NULL;
+-      xfs_acl_entry_t *entry, *e;
++      struct xfs_icacl        *aclp = NULL;
++      struct xfs_icacl_entry  *entry, *e;
+       int user = 0, group = 0, other = 0, mask = 0, mask_required = 0;
+       int i, j;
+       if (daclp == NULL)
+               goto acl_invalid;
+-      switch (xfs_acl_from_disk(&aclp, daclp)) {
++      switch (xfs_acl_from_disk(mp, &aclp, daclp)) {
+       case ENOMEM:
+               return 0;
+       case EINVAL:
+diff --git a/repair/attr_repair.h b/repair/attr_repair.h
+index f42536a..0d0c62c 100644
+--- a/repair/attr_repair.h
++++ b/repair/attr_repair.h
+@@ -37,29 +37,49 @@ typedef __int32_t  xfs_acl_type_t;
+ typedef __int32_t     xfs_acl_tag_t;
+ typedef __int32_t     xfs_acl_id_t;
+-typedef struct xfs_acl_entry {
++/*
++ * "icacl" = in-core ACL. There is no equivalent in the XFS kernel code,
++ * so they are magic names just for repair. The "acl" types are what the kernel
++ * code uses for the on-disk format names, so use them here too for the on-disk
++ * ACL format definitions.
++ */
++struct xfs_icacl_entry {
+       xfs_acl_tag_t   ae_tag;
+       xfs_acl_id_t    ae_id;
+       xfs_acl_perm_t  ae_perm;
+-} xfs_acl_entry_t;
++};
+-#define XFS_ACL_MAX_ENTRIES   25
+-typedef struct xfs_acl {
+-      __int32_t       acl_cnt;
+-      xfs_acl_entry_t acl_entry[XFS_ACL_MAX_ENTRIES];
+-} xfs_acl_t;
++struct xfs_icacl {
++      __int32_t               acl_cnt;
++      struct xfs_icacl_entry  acl_entry[0];
++};
+-typedef struct xfs_acl_entry_disk {
++struct xfs_acl_entry {
+       __be32          ae_tag;
+       __be32          ae_id;
+       __be16          ae_perm;
+-} xfs_acl_entry_disk_t;
++      __be16          ae_pad;
++};
+-typedef struct xfs_acl_disk {
+-      __be32          acl_cnt;
+-      xfs_acl_entry_disk_t    acl_entry[XFS_ACL_MAX_ENTRIES];
+-} xfs_acl_disk_t;
++struct xfs_acl {
++      __be32                  acl_cnt;
++      struct xfs_acl_entry    acl_entry[0];
++};
++/*
++ * The number of ACL entries allowed is defined by the on-disk format.
++ * For v4 superblocks, that is limited to 25 entries. For v5 superblocks, it is
++ * limited only by the maximum size of the xattr that stores the information.
++ */
++#define XFS_ACL_MAX_ENTRIES(mp) \
++      (xfs_sb_version_hascrc(&mp->m_sb) \
++              ?  (XATTR_SIZE_MAX - sizeof(struct xfs_acl)) / \
++                                              sizeof(struct xfs_acl_entry) \
++              : 25)
++
++#define XFS_ACL_MAX_SIZE(mp) \
++      (sizeof(struct xfs_acl) + \
++              sizeof(struct xfs_acl_entry) * XFS_ACL_MAX_ENTRIES((mp)))
+ #define SGI_ACL_FILE  "SGI_ACL_FILE"
+ #define SGI_ACL_DEFAULT       "SGI_ACL_DEFAULT"
+diff --git a/repair/dir2.c b/repair/dir2.c
+index 14c1435..6b8964d 100644
+--- a/repair/dir2.c
++++ b/repair/dir2.c
+@@ -28,13 +28,6 @@
+ #include "progress.h"
+ /*
+- * Tag bad directory entries with this.
+- * We can't tag them with -1 since that will look like a
+- * data_unused_t instead of a data_entry_t.
+- */
+-#define       BADFSINO        ((xfs_ino_t)0xfeffffffffffffffULL)
+-
+-/*
+  * Known bad inode list.  These are seen when the leaf and node
+  * block linkages are incorrect.
+  */
+@@ -596,7 +589,13 @@ _("bad level %d in block %u for directory inode %" PRIu64 "\n"),
+                */
+               ASSERT(cursor->level[this_level].dirty == 0 ||
+                       (cursor->level[this_level].dirty && !no_modify));
+-
++              /*
++               * If block looks ok but CRC didn't match, make sure to
++               * recompute it.
++               */
++              if (!no_modify &&
++                  cursor->level[this_level].bp->b_error == EFSBADCRC)
++                      cursor->level[this_level].dirty = 1;
+               if (cursor->level[this_level].dirty && !no_modify)
+                       libxfs_writebuf(cursor->level[this_level].bp, 0);
+               else
+@@ -1314,7 +1313,7 @@ process_dir2_data(
+                * Conditions must either set clearino to zero or set
+                * clearreason why it's being cleared.
+                */
+-              if (!ino_discovery && ent_ino == BADFSINO) {
++              if (!ino_discovery && dep->name[0] == '/') {
+                       /*
+                        * Don't do a damned thing.  We already found this
+                        * (or did it ourselves) during phase 3.
+@@ -1401,8 +1400,7 @@ _("entry at block %u offset %" PRIdPTR " in directory inode %" PRIu64
+                               do_warn(
+ _("\tclearing inode number in entry at offset %" PRIdPTR "...\n"),
+                                       (intptr_t)ptr - (intptr_t)d);
+-                              dep->inumber = cpu_to_be64(BADFSINO);
+-                              ent_ino = BADFSINO;
++                              dep->name[0] = '/';
+                               *dirty = 1;
+                       } else {
+                               do_warn(
+@@ -1415,7 +1413,7 @@ _("\twould clear inode number in entry at offset %" PRIdPTR "...\n"),
+                * discovery is turned on).  Otherwise, we'd complain a lot
+                * during phase 4.
+                */
+-              junkit = ent_ino == BADFSINO;
++              junkit = dep->name[0] == '/';
+               nm_illegal = namecheck((char *)dep->name, dep->namelen);
+               if (ino_discovery && nm_illegal) {
+                       do_warn(
+@@ -1424,14 +1422,15 @@ _("entry at block %u offset %" PRIdPTR " in directory inode %" PRIu64 " has ille
+                               dep->namelen, dep->namelen, dep->name);
+                       junkit = 1;
+               }
++
+               /*
+-               * Now we can mark entries with BADFSINO's bad.
++               * Ensure we write back bad entries for later processing
+                */
+-              if (!no_modify && ent_ino == BADFSINO) {
+-                      dep->name[0] = '/';
++              if (!no_modify && dep->name[0] == '/') {
+                       *dirty = 1;
+                       junkit = 0;
+               }
++
+               /*
+                * Special .. entry processing.
+                */
+@@ -1621,6 +1620,9 @@ _("bad directory block magic # %#x in block %u for directory inode %" PRIu64 "\n
+               blp = (xfs_dir2_leaf_entry_t *)btp;
+       rval = process_dir2_data(mp, ino, dip, ino_discovery, dirname, parent,
+               bp, dot, dotdot, mp->m_dirdatablk, (char *)blp, &dirty);
++      /* If block looks ok but CRC didn't match, make sure to recompute it. */
++      if (!rval && bp->b_error == EFSBADCRC)
++              dirty = 1;
+       if (dirty && !no_modify) {
+               *repair = 1;
+               libxfs_writebuf(bp, 0);
+@@ -1784,6 +1786,12 @@ _("bad sibling back pointer for block %u in directory inode %" PRIu64 "\n"),
+                       }
+               }
+               current_hashval = greatest_hashval;
++              /*
++               * If block looks ok but CRC didn't match, make sure to
++               * recompute it.
++               */
++              if (!no_modify && bp->b_error == EFSBADCRC)
++                      buf_dirty = 1;
+               ASSERT(buf_dirty == 0 || (buf_dirty && !no_modify));
+               if (buf_dirty && !no_modify) {
+                       *repair = 1;
+@@ -1927,8 +1935,12 @@ _("bad directory block magic # %#x in block %" PRIu64 " for directory inode %" P
+               i = process_dir2_data(mp, ino, dip, ino_discovery, dirname,
+                       parent, bp, dot, dotdot, (xfs_dablk_t)dbno,
+                       (char *)data + mp->m_dirblksize, &dirty);
+-              if (i == 0)
++              if (i == 0) {
+                       good++;
++                      /* Maybe just CRC is wrong. Make sure we correct it. */
++                      if (bp->b_error == EFSBADCRC)
++                              dirty = 1;
++              }
+               if (dirty && !no_modify) {
+                       *repair = 1;
+                       libxfs_writebuf(bp, 0);
+diff --git a/repair/incore.h b/repair/incore.h
+index 5419884..5f8c188 100644
+--- a/repair/incore.h
++++ b/repair/incore.h
+@@ -381,6 +381,33 @@ void                      clear_uncertain_ino_cache(xfs_agnumber_t agno);
+               ((ino_tree_node_t *) ((ino_node_ptr)->avl_node.avl_forw))
+ /*
++ * finobt helpers
++ */
++static inline ino_tree_node_t *
++findfirst_free_inode_rec(xfs_agnumber_t agno)
++{
++      ino_tree_node_t *ino_rec;
++
++      ino_rec = findfirst_inode_rec(agno);
++
++      while (ino_rec && !ino_rec->ir_free)
++              ino_rec = next_ino_rec(ino_rec);
++
++      return ino_rec;
++}
++
++static inline ino_tree_node_t *
++next_free_ino_rec(ino_tree_node_t *ino_rec)
++{
++      ino_rec = next_ino_rec(ino_rec);
++
++      while (ino_rec && !ino_rec->ir_free)
++              ino_rec = next_ino_rec(ino_rec);
++
++      return ino_rec;
++}
++
++/*
+  * Has an inode been processed for phase 6 (reference count checking)?
+  *
+  * add_inode_refchecked() is set on an inode when it gets traversed
+diff --git a/repair/phase5.c b/repair/phase5.c
+index b173597..e82eeb7 100644
+--- a/repair/phase5.c
++++ b/repair/phase5.c
+@@ -74,6 +74,15 @@ typedef struct bt_status  {
+       bt_stat_level_t         level[XFS_BTREE_MAXLEVELS];
+ } bt_status_t;
++/*
++ * extra metadata for the agi
++ */
++struct agi_stat {
++      xfs_agino_t             first_agino;
++      xfs_agino_t             count;
++      xfs_agino_t             freecount;
++};
++
+ static __uint64_t     *sb_icount_ag;          /* allocated inodes per ag */
+ static __uint64_t     *sb_ifree_ag;           /* free inodes per ag */
+ static __uint64_t     *sb_fdblocks_ag;        /* free data blocks per ag */
+@@ -869,10 +878,11 @@ build_freespace_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
+  */
+ static void
+ init_ino_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, bt_status_t *btree_curs,
+-              __uint64_t *num_inos, __uint64_t *num_free_inos)
++              __uint64_t *num_inos, __uint64_t *num_free_inos, int finobt)
+ {
+       __uint64_t              ninos;
+       __uint64_t              nfinos;
++      __uint64_t              rec_nfinos;
+       ino_tree_node_t         *ino_rec;
+       int                     num_recs;
+       int                     level;
+@@ -908,13 +918,22 @@ init_ino_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, bt_status_t *btree_curs,
+        * build up statistics
+        */
+       for (num_recs = 0; ino_rec != NULL; ino_rec = next_ino_rec(ino_rec))  {
+-              ninos += XFS_INODES_PER_CHUNK;
+-              num_recs++;
++              rec_nfinos = 0;
+               for (i = 0; i < XFS_INODES_PER_CHUNK; i++)  {
+                       ASSERT(is_inode_confirmed(ino_rec, i));
+                       if (is_inode_free(ino_rec, i))
+-                              nfinos++;
++                              rec_nfinos++;
+               }
++
++              /*
++               * finobt only considers records with free inodes
++               */
++              if (finobt && !rec_nfinos)
++                      continue;
++
++              nfinos += rec_nfinos;
++              ninos += XFS_INODES_PER_CHUNK;
++              num_recs++;
+       }
+       blocks_allocated = lptr->num_blocks = howmany(num_recs,
+@@ -1049,9 +1068,8 @@ prop_ino_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, bt_status_t *btree_curs,
+  * XXX: yet more code that can be shared with mkfs, growfs.
+  */
+ static void
+-build_agi(xfs_mount_t *mp, xfs_agnumber_t agno,
+-              bt_status_t *btree_curs, xfs_agino_t first_agino,
+-              xfs_agino_t count, xfs_agino_t freecount)
++build_agi(xfs_mount_t *mp, xfs_agnumber_t agno, bt_status_t *btree_curs,
++              bt_status_t *finobt_curs, struct agi_stat *agi_stat)
+ {
+       xfs_buf_t       *agi_buf;
+       xfs_agi_t       *agi;
+@@ -1072,11 +1090,11 @@ build_agi(xfs_mount_t *mp, xfs_agnumber_t agno,
+       else
+               agi->agi_length = cpu_to_be32(mp->m_sb.sb_dblocks -
+                       (xfs_drfsbno_t) mp->m_sb.sb_agblocks * agno);
+-      agi->agi_count = cpu_to_be32(count);
++      agi->agi_count = cpu_to_be32(agi_stat->count);
+       agi->agi_root = cpu_to_be32(btree_curs->root);
+       agi->agi_level = cpu_to_be32(btree_curs->num_levels);
+-      agi->agi_freecount = cpu_to_be32(freecount);
+-      agi->agi_newino = cpu_to_be32(first_agino);
++      agi->agi_freecount = cpu_to_be32(agi_stat->freecount);
++      agi->agi_newino = cpu_to_be32(agi_stat->first_agino);
+       agi->agi_dirino = cpu_to_be32(NULLAGINO);
+       for (i = 0; i < XFS_AGI_UNLINKED_BUCKETS; i++)  
+@@ -1085,6 +1103,11 @@ build_agi(xfs_mount_t *mp, xfs_agnumber_t agno,
+       if (xfs_sb_version_hascrc(&mp->m_sb))
+               platform_uuid_copy(&agi->agi_uuid, &mp->m_sb.sb_uuid);
++      if (xfs_sb_version_hasfinobt(&mp->m_sb)) {
++              agi->agi_free_root = cpu_to_be32(finobt_curs->root);
++              agi->agi_free_level = cpu_to_be32(finobt_curs->num_levels);
++      }
++
+       libxfs_writebuf(agi_buf, 0);
+ }
+@@ -1094,7 +1117,8 @@ build_agi(xfs_mount_t *mp, xfs_agnumber_t agno,
+  */
+ static void
+ build_ino_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
+-              bt_status_t *btree_curs)
++              bt_status_t *btree_curs, __uint32_t magic,
++              struct agi_stat *agi_stat, int finobt)
+ {
+       xfs_agnumber_t          i;
+       xfs_agblock_t           j;
+@@ -1132,11 +1156,11 @@ build_ino_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
+               bt_hdr = XFS_BUF_TO_BLOCK(lptr->buf_p);
+               memset(bt_hdr, 0, mp->m_sb.sb_blocksize);
+               if (xfs_sb_version_hascrc(&mp->m_sb))
+-                      xfs_btree_init_block(mp, lptr->buf_p, XFS_IBT_CRC_MAGIC,
++                      xfs_btree_init_block(mp, lptr->buf_p, magic,
+                                               i, 0, agno,
+                                               XFS_BTREE_CRC_BLOCKS);
+               else
+-                      xfs_btree_init_block(mp, lptr->buf_p, XFS_IBT_MAGIC,
++                      xfs_btree_init_block(mp, lptr->buf_p, magic,
+                                               i, 0, agno, 0);
+       }
+@@ -1146,7 +1170,10 @@ build_ino_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
+        * pointers for the parent.  that can recurse up to the root
+        * if required.  set the sibling pointers for leaf level here.
+        */
+-      ino_rec = findfirst_inode_rec(agno);
++      if (finobt)
++              ino_rec = findfirst_free_inode_rec(agno);
++      else
++              ino_rec = findfirst_inode_rec(agno);
+       if (ino_rec != NULL)
+               first_agino = ino_rec->ino_startnum;
+@@ -1163,11 +1190,11 @@ build_ino_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
+               bt_hdr = XFS_BUF_TO_BLOCK(lptr->buf_p);
+               memset(bt_hdr, 0, mp->m_sb.sb_blocksize);
+               if (xfs_sb_version_hascrc(&mp->m_sb))
+-                      xfs_btree_init_block(mp, lptr->buf_p, XFS_IBT_CRC_MAGIC,
++                      xfs_btree_init_block(mp, lptr->buf_p, magic,
+                                               0, 0, agno,
+                                               XFS_BTREE_CRC_BLOCKS);
+               else
+-                      xfs_btree_init_block(mp, lptr->buf_p, XFS_IBT_MAGIC,
++                      xfs_btree_init_block(mp, lptr->buf_p, magic,
+                                               0, 0, agno, 0);
+               bt_hdr->bb_u.s.bb_leftsib = cpu_to_be32(lptr->prev_agbno);
+@@ -1198,7 +1225,11 @@ build_ino_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
+                       bt_rec[j].ir_freecount = cpu_to_be32(inocnt);
+                       freecount += inocnt;
+                       count += XFS_INODES_PER_CHUNK;
+-                      ino_rec = next_ino_rec(ino_rec);
++
++                      if (finobt)
++                              ino_rec = next_free_ino_rec(ino_rec);
++                      else
++                              ino_rec = next_ino_rec(ino_rec);
+               }
+               if (ino_rec != NULL)  {
+@@ -1224,7 +1255,11 @@ build_ino_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
+               }
+       }
+-      build_agi(mp, agno, btree_curs, first_agino, count, freecount);
++      if (agi_stat) {
++              agi_stat->first_agino = first_agino;
++              agi_stat->count = count;
++              agi_stat->freecount = freecount;
++      }
+ }
+ /*
+@@ -1470,9 +1505,12 @@ phase5_func(
+ {
+       __uint64_t      num_inos;
+       __uint64_t      num_free_inos;
++      __uint64_t      finobt_num_inos;
++      __uint64_t      finobt_num_free_inos;
+       bt_status_t     bno_btree_curs;
+       bt_status_t     bcnt_btree_curs;
+       bt_status_t     ino_btree_curs;
++      bt_status_t     fino_btree_curs;
+       int             extra_blocks = 0;
+       uint            num_freeblocks;
+       xfs_extlen_t    freeblks1;
+@@ -1480,6 +1518,8 @@ phase5_func(
+       xfs_extlen_t    freeblks2;
+ #endif
+       xfs_agblock_t   num_extents;
++      __uint32_t      magic;
++      struct agi_stat agi_stat = {0,};
+       if (verbose)
+               do_log(_("        - agno = %d\n"), agno);
+@@ -1515,8 +1555,13 @@ phase5_func(
+                * on-disk btrees (includs pre-allocating all
+                * required blocks for the trees themselves)
+                */
+-              init_ino_cursor(mp, agno, &ino_btree_curs,
+-                              &num_inos, &num_free_inos);
++              init_ino_cursor(mp, agno, &ino_btree_curs, &num_inos,
++                              &num_free_inos, 0);
++
++              if (xfs_sb_version_hasfinobt(&mp->m_sb))
++                      init_ino_cursor(mp, agno, &fino_btree_curs,
++                                      &finobt_num_inos, &finobt_num_free_inos,
++                                      1);
+               sb_icount_ag[agno] += num_inos;
+               sb_ifree_ag[agno] += num_free_inos;
+@@ -1611,15 +1656,35 @@ phase5_func(
+               build_agf_agfl(mp, agno, &bno_btree_curs,
+                               &bcnt_btree_curs, freeblks1, extra_blocks);
+               /*
+-               * build inode allocation tree.  this also build the agi
++               * build inode allocation tree.
+                */
+-              build_ino_tree(mp, agno, &ino_btree_curs);
++              magic = xfs_sb_version_hascrc(&mp->m_sb) ?
++                              XFS_IBT_CRC_MAGIC : XFS_IBT_MAGIC;
++              build_ino_tree(mp, agno, &ino_btree_curs, magic, &agi_stat, 0);
+               write_cursor(&ino_btree_curs);
++
++              /*
++               * build free inode tree
++               */
++              if (xfs_sb_version_hasfinobt(&mp->m_sb)) {
++                      magic = xfs_sb_version_hascrc(&mp->m_sb) ?
++                                      XFS_FIBT_CRC_MAGIC : XFS_FIBT_MAGIC;
++                      build_ino_tree(mp, agno, &fino_btree_curs, magic,
++                                      NULL, 1);
++                      write_cursor(&fino_btree_curs);
++              }
++
++              /* build the agi */
++              build_agi(mp, agno, &ino_btree_curs, &fino_btree_curs,
++                        &agi_stat);
++
+               /*
+                * tear down cursors
+                */
+               finish_cursor(&bno_btree_curs);
+               finish_cursor(&ino_btree_curs);
++              if (xfs_sb_version_hasfinobt(&mp->m_sb))
++                      finish_cursor(&fino_btree_curs);
+               finish_cursor(&bcnt_btree_curs);
+               /*
+                * release the incore per-AG bno/bcnt trees so
+diff --git a/repair/phase6.c b/repair/phase6.c
+index 5ae6a3d..f13069f 100644
+--- a/repair/phase6.c
++++ b/repair/phase6.c
+@@ -544,7 +544,6 @@ mk_rbmino(xfs_mount_t *mp)
+        * commit changes
+        */
+       libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
+-      libxfs_trans_ihold(tp, ip);
+       libxfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_SYNC);
+       /*
+@@ -801,7 +800,6 @@ mk_rsumino(xfs_mount_t *mp)
+        * commit changes
+        */
+       libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
+-      libxfs_trans_ihold(tp, ip);
+       libxfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_SYNC);
+       /*
+@@ -1063,6 +1061,8 @@ mk_orphanage(xfs_mount_t *mp)
+       libxfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_SYNC);
++      IRELE(ip);
++      IRELE(pip);
+       add_inode_reached(irec,ino_offset);
+       return(ino);
+@@ -1260,6 +1260,8 @@ mv_orphanage(
+               libxfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_SYNC);
+       }
++      IRELE(ino_p);
++      IRELE(orphanage_ip);
+ }
+ static int
+@@ -1330,7 +1332,6 @@ longform_dir2_rebuild(
+       if (error)
+               res_failed(error);
+       libxfs_trans_ijoin(tp, ip, 0);
+-      libxfs_trans_ihold(tp, ip);
+       if ((error = libxfs_bmap_last_offset(tp, ip, &lastblock,
+                                               XFS_DATA_FORK)))
+@@ -1370,7 +1371,6 @@ longform_dir2_rebuild(
+                       res_failed(error);
+               libxfs_trans_ijoin(tp, ip, 0);
+-              libxfs_trans_ihold(tp, ip);
+               xfs_bmap_init(&flist, &firstblock);
+               error = libxfs_dir_createname(tp, ip, &p->name, p->inum,
+@@ -1428,7 +1428,6 @@ dir2_kill_block(
+       if (error)
+               res_failed(error);
+       libxfs_trans_ijoin(tp, ip, 0);
+-      libxfs_trans_ihold(tp, ip);
+       libxfs_trans_bjoin(tp, bp);
+       memset(&args, 0, sizeof(args));
+       xfs_bmap_init(&flist, &firstblock);
+@@ -1530,9 +1529,8 @@ longform_dir2_entry_check_data(
+               *freetabp = freetab = realloc(freetab, FREETAB_SIZE(db + 1));
+               if (!freetab) {
+-                      do_error(
+-      _("realloc failed in longform_dir2_entry_check_data (%zu bytes)\n"),
+-                              FREETAB_SIZE(db + 1));
++                      do_error(_("realloc failed in %s (%zu bytes)\n"),
++                              __func__, FREETAB_SIZE(db + 1));
+               }
+               e.v = NULLDATAOFF;
+               e.s = 0;
+@@ -1616,7 +1614,6 @@ longform_dir2_entry_check_data(
+       if (error)
+               res_failed(error);
+       libxfs_trans_ijoin(tp, ip, 0);
+-      libxfs_trans_ihold(tp, ip);
+       libxfs_trans_bjoin(tp, bp);
+       libxfs_trans_bhold(tp, bp);
+       xfs_bmap_init(&flist, &firstblock);
+@@ -2180,8 +2177,8 @@ longform_dir2_entry_check(xfs_mount_t    *mp,
+       *need_dot = 1;
+       freetab = malloc(FREETAB_SIZE(ip->i_d.di_size / mp->m_dirblksize));
+       if (!freetab) {
+-              do_error(
+-              _("malloc failed in longform_dir2_entry_check (%" PRId64 " bytes)\n"),
++              do_error(_("malloc failed in %s (%" PRId64 " bytes)\n"),
++                      __func__,
+                       FREETAB_SIZE(ip->i_d.di_size / mp->m_dirblksize));
+               exit(1);
+       }
+@@ -2193,6 +2190,10 @@ longform_dir2_entry_check(xfs_mount_t   *mp,
+       }
+       num_bps = freetab->naents;
+       bplist = calloc(num_bps, sizeof(struct xfs_buf*));
++      if (!bplist)
++              do_error(_("calloc failed in %s (%zu bytes)\n"),
++                      __func__, num_bps * sizeof(struct xfs_buf*));
++
+       /* is this a block, leaf, or node directory? */
+       libxfs_dir2_isblock(NULL, ip, &isblock);
+       libxfs_dir2_isleaf(NULL, ip, &isleaf);
+@@ -2205,16 +2206,26 @@ longform_dir2_entry_check(xfs_mount_t  *mp,
+               int                      error;
+               next_da_bno = da_bno + mp->m_dirblkfsbs - 1;
+-              if (bmap_next_offset(NULL, ip, &next_da_bno, XFS_DATA_FORK))
++              if (bmap_next_offset(NULL, ip, &next_da_bno, XFS_DATA_FORK)) {
++                      /*
++                       * if this is the first block, there isn't anything we
++                       * can recover so we just trash it.
++                       */
++                       if (da_bno == 0) {
++                              fixit++;
++                              goto out_fix;
++                      }
+                       break;
++              }
++
+               db = xfs_dir2_da_to_db(mp, da_bno);
+               if (db >= num_bps) {
+                       /* more data blocks than expected */
+                       num_bps = db + 1;
+                       bplist = realloc(bplist, num_bps * sizeof(struct xfs_buf*));
+                       if (!bplist)
+-                              do_error(
+-              _("realloc failed in longform_dir2_entry_check (%zu bytes)\n"),
++                              do_error(_("realloc failed in %s (%zu bytes)\n"),
++                                      __func__,
+                                       num_bps * sizeof(struct xfs_buf*));
+               }
+@@ -2800,7 +2811,6 @@ process_dir_inode(
+                               res_failed(error);
+                       libxfs_trans_ijoin(tp, ip, 0);
+-                      libxfs_trans_ihold(tp, ip);
+                       shortform_dir2_entry_check(mp, ino, ip, &dirty,
+                                               irec, ino_offset,
+@@ -2848,7 +2858,6 @@ process_dir_inode(
+                       res_failed(error);
+               libxfs_trans_ijoin(tp, ip, 0);
+-              libxfs_trans_ihold(tp, ip);
+               xfs_bmap_init(&flist, &first);
+@@ -2910,7 +2919,6 @@ process_dir_inode(
+                               res_failed(error);
+                       libxfs_trans_ijoin(tp, ip, 0);
+-                      libxfs_trans_ihold(tp, ip);
+                       xfs_bmap_init(&flist, &first);
+@@ -2929,7 +2937,7 @@ process_dir_inode(
+                                       |XFS_TRANS_SYNC);
+               }
+       }
+-      libxfs_iput(ip, 0);
++      IRELE(ip);
+ }
+ /*
+diff --git a/repair/phase7.c b/repair/phase7.c
+index 18f2d88..d3fe95a 100644
+--- a/repair/phase7.c
++++ b/repair/phase7.c
+@@ -99,7 +99,6 @@ update_inode_nlinks(
+       set_nlinks(&ip->i_d, ino, nlinks, &dirty);
+       if (!dirty)  {
+-              libxfs_trans_iput(tp, ip, 0);
+               libxfs_trans_cancel(tp, XFS_TRANS_RELEASE_LOG_RES);
+       } else  {
+               libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
+@@ -113,6 +112,7 @@ update_inode_nlinks(
+               ASSERT(error == 0);
+       }
++      IRELE(ip);
+ }
+ void
+diff --git a/repair/prefetch.c b/repair/prefetch.c
+index 4595310..65f8456 100644
+--- a/repair/prefetch.c
++++ b/repair/prefetch.c
+@@ -505,7 +505,7 @@ pf_batch_read(
+               first_off = LIBXFS_BBTOOFF64(XFS_BUF_ADDR(bplist[0]));
+               last_off = LIBXFS_BBTOOFF64(XFS_BUF_ADDR(bplist[num-1])) +
+                       XFS_BUF_SIZE(bplist[num-1]);
+-              while (last_off - first_off > pf_max_bytes) {
++              while (num > 1 && last_off - first_off > pf_max_bytes) {
+                       num--;
+                       last_off = LIBXFS_BBTOOFF64(XFS_BUF_ADDR(bplist[num-1])) +
+                               XFS_BUF_SIZE(bplist[num-1]);
+diff --git a/repair/sb.c b/repair/sb.c
+index 5e0b0f2..bc421cc 100644
+--- a/repair/sb.c
++++ b/repair/sb.c
+@@ -138,6 +138,7 @@ find_secondary_sb(xfs_sb_t *rsb)
+               for (i = 0; !done && i < bsize; i += BBSIZE)  {
+                       c_bufsb = (char *)sb + i;
+                       libxfs_sb_from_disk(&bufsb, (xfs_dsb_t *)c_bufsb);
++                      libxfs_sb_quota_from_disk(&bufsb);
+                       if (verify_sb(c_bufsb, &bufsb, 0) != XR_OK)
+                               continue;
+@@ -538,6 +539,7 @@ get_sb(xfs_sb_t *sbp, xfs_off_t off, int size, xfs_agnumber_t agno)
+               do_error("%s\n", strerror(error));
+       }
+       libxfs_sb_from_disk(sbp, buf);
++      libxfs_sb_quota_from_disk(sbp);
+       rval = verify_sb((char *)buf, sbp, agno == 0);
+       free(buf);
+diff --git a/repair/scan.c b/repair/scan.c
+index 4b0ea04..f29ff8d 100644
+--- a/repair/scan.c
++++ b/repair/scan.c
+@@ -46,6 +46,7 @@ struct aghdr_cnts {
+       __uint64_t      fdblocks;
+       __uint64_t      icount;
+       __uint64_t      ifreecount;
++      __uint32_t      fibtfreecount;
+ };
+ void
+@@ -897,6 +898,208 @@ _("inode rec for ino %" PRIu64 " (%d/%d) overlaps existing rec (start %d/%d)\n")
+       return suspect;
+ }
++static int
++scan_single_finobt_chunk(
++      xfs_agnumber_t          agno,
++      xfs_inobt_rec_t         *rp,
++      int                     suspect)
++{
++      xfs_ino_t               lino;
++      xfs_agino_t             ino;
++      xfs_agblock_t           agbno;
++      int                     j;
++      int                     nfree;
++      int                     off;
++      int                     state;
++      ino_tree_node_t         *first_rec, *last_rec, *ino_rec;
++
++      ino = be32_to_cpu(rp->ir_startino);
++      off = XFS_AGINO_TO_OFFSET(mp, ino);
++      agbno = XFS_AGINO_TO_AGBNO(mp, ino);
++      lino = XFS_AGINO_TO_INO(mp, agno, ino);
++
++      /*
++       * on multi-block block chunks, all chunks start at the beginning of the
++       * block. with multi-chunk blocks, all chunks must start on 64-inode
++       * boundaries since each block can hold N complete chunks. if fs has
++       * aligned inodes, all chunks must start at a fs_ino_alignment*N'th
++       * agbno. skip recs with badly aligned starting inodes.
++       */
++      if (ino == 0 ||
++          (inodes_per_block <= XFS_INODES_PER_CHUNK && off !=  0) ||
++          (inodes_per_block > XFS_INODES_PER_CHUNK &&
++           off % XFS_INODES_PER_CHUNK != 0) ||
++          (fs_aligned_inodes && agbno % fs_ino_alignment != 0)) {
++              do_warn(
++      _("badly aligned finobt inode rec (starting inode = %" PRIu64 ")\n"),
++                      lino);
++              suspect++;
++      }
++
++      /*
++       * verify numeric validity of inode chunk first before inserting into a
++       * tree. don't have to worry about the overflow case because the
++       * starting ino number of a chunk can only get within 255 inodes of max
++       * (NULLAGINO). if it gets closer, the agino number will be illegal as
++       * the agbno will be too large.
++       */
++      if (verify_aginum(mp, agno, ino)) {
++              do_warn(
++_("bad starting inode # (%" PRIu64 " (0x%x 0x%x)) in finobt rec, skipping rec\n"),
++                      lino, agno, ino);
++              return ++suspect;
++      }
++
++      if (verify_aginum(mp, agno,
++                      ino + XFS_INODES_PER_CHUNK - 1)) {
++              do_warn(
++_("bad ending inode # (%" PRIu64 " (0x%x 0x%zx)) in finobt rec, skipping rec\n"),
++                      lino + XFS_INODES_PER_CHUNK - 1,
++                      agno,
++                      ino + XFS_INODES_PER_CHUNK - 1);
++              return ++suspect;
++      }
++
++      /*
++       * cross check state of each block containing inodes referenced by the
++       * finobt against what we have already scanned from the alloc inobt.
++       */
++      if (off == 0 && !suspect) {
++              for (j = 0;
++                   j < XFS_INODES_PER_CHUNK;
++                   j += mp->m_sb.sb_inopblock) {
++                      agbno = XFS_AGINO_TO_AGBNO(mp, ino + j);
++
++                      state = get_bmap(agno, agbno);
++                      if (state == XR_E_INO) {
++                              continue;
++                      } else if ((state == XR_E_UNKNOWN) ||
++                                 (state == XR_E_INUSE_FS && agno == 0 &&
++                                  ino + j >= first_prealloc_ino &&
++                                  ino + j < last_prealloc_ino)) {
++                              do_warn(
++_("inode chunk claims untracked block, finobt block - agno %d, bno %d, inopb %d\n"),
++                                      agno, agbno, mp->m_sb.sb_inopblock);
++
++                              set_bmap(agno, agbno, XR_E_INO);
++                              suspect++;
++                      } else {
++                              do_warn(
++_("inode chunk claims used block, finobt block - agno %d, bno %d, inopb %d\n"),
++                                      agno, agbno, mp->m_sb.sb_inopblock);
++                              return ++suspect;
++                      }
++              }
++      }
++
++      /*
++       * ensure we have an incore entry for each chunk
++       */
++      find_inode_rec_range(mp, agno, ino, ino + XFS_INODES_PER_CHUNK,
++                           &first_rec, &last_rec);
++
++      if (first_rec) {
++              if (suspect)
++                      return suspect;
++
++              /*
++               * verify consistency between finobt record and incore state
++               */
++              if (first_rec->ino_startnum != ino) {
++                      do_warn(
++_("finobt rec for ino %" PRIu64 " (%d/%u) does not match existing rec (%d/%d)\n"),
++                              lino, agno, ino, agno, first_rec->ino_startnum);
++                      return ++suspect;
++              }
++
++              nfree = 0;
++              for (j = 0; j < XFS_INODES_PER_CHUNK; j++) {
++                      int isfree = XFS_INOBT_IS_FREE_DISK(rp, j);
++
++                      if (isfree)
++                              nfree++;
++
++                      /*
++                       * inode allocation state should be consistent between
++                       * the inobt and finobt
++                       */
++                      if (!suspect &&
++                          isfree != is_inode_free(first_rec, j))
++                              suspect++;
++              }
++
++              goto check_freecount;
++      }
++
++      /*
++       * the finobt contains a record that the previous alloc inobt scan never
++       * found. insert the inodes into the appropriate tree.
++       */
++      do_warn(_("undiscovered finobt record, ino %" PRIu64 " (%d/%u)\n"),
++              lino, agno, ino);
++
++      if (!suspect) {
++              /*
++               * inodes previously inserted into the uncertain tree should be
++               * superceded by these when the uncertain tree is processed
++               */
++              nfree = 0;
++              if (XFS_INOBT_IS_FREE_DISK(rp, 0)) {
++                      nfree++;
++                      ino_rec = set_inode_free_alloc(mp, agno, ino);
++              } else  {
++                      ino_rec = set_inode_used_alloc(mp, agno, ino);
++              }
++              for (j = 1; j < XFS_INODES_PER_CHUNK; j++) {
++                      if (XFS_INOBT_IS_FREE_DISK(rp, j)) {
++                              nfree++;
++                              set_inode_free(ino_rec, j);
++                      } else  {
++                              set_inode_used(ino_rec, j);
++                      }
++              }
++      } else {
++              /*
++               * this should handle the case where the inobt scan may have
++               * already added uncertain inodes
++               */
++              nfree = 0;
++              for (j = 0; j < XFS_INODES_PER_CHUNK; j++) {
++                      if (XFS_INOBT_IS_FREE_DISK(rp, j)) {
++                              add_aginode_uncertain(mp, agno, ino + j, 1);
++                              nfree++;
++                      } else {
++                              add_aginode_uncertain(mp, agno, ino + j, 0);
++                      }
++              }
++      }
++
++check_freecount:
++
++      /*
++       * Verify that the record freecount matches the actual number of free
++       * inodes counted in the record. Don't increment 'suspect' here, since
++       * we have already verified the allocation state of the individual
++       * inodes against the in-core state. This will have already incremented
++       * 'suspect' if something is wrong. If suspect hasn't been set at this
++       * point, these warnings mean that we have a simple freecount
++       * inconsistency or a stray finobt record (as opposed to a broader tree
++       * corruption). Issue a warning and continue the scan. The final btree
++       * reconstruction will correct this naturally.
++       */
++      if (nfree != be32_to_cpu(rp->ir_freecount)) {
++              do_warn(
++_("finobt ir_freecount/free mismatch, inode chunk %d/%u, freecount %d nfree %d\n"),
++                      agno, ino, be32_to_cpu(rp->ir_freecount), nfree);
++      }
++
++      if (!nfree) {
++              do_warn(
++_("finobt record with no free inodes, inode chunk %d/%u\n"), agno, ino);
++      }
++
++      return suspect;
++}
+ /*
+  * this one walks the inode btrees sucking the info there into
+@@ -1005,12 +1208,29 @@ _("inode btree block claimed (state %d), agno %d, bno %d, suspect %d\n"),
+                * the block.  skip processing of bogus records.
+                */
+               for (i = 0; i < numrecs; i++) {
+-                      agcnts->agicount += XFS_INODES_PER_CHUNK;
+-                      agcnts->icount += XFS_INODES_PER_CHUNK;
+-                      agcnts->agifreecount += be32_to_cpu(rp[i].ir_freecount);
+-                      agcnts->ifreecount += be32_to_cpu(rp[i].ir_freecount);
++                      if (magic == XFS_IBT_MAGIC ||
++                          magic == XFS_IBT_CRC_MAGIC) {
++                              agcnts->agicount += XFS_INODES_PER_CHUNK;
++                              agcnts->icount += XFS_INODES_PER_CHUNK;
++                              agcnts->agifreecount +=
++                                      be32_to_cpu(rp[i].ir_freecount);
++                              agcnts->ifreecount +=
++                                      be32_to_cpu(rp[i].ir_freecount);
++
++                              suspect = scan_single_ino_chunk(agno, &rp[i],
++                                              suspect);
++                      } else {
++                              /*
++                               * the finobt tracks records with free inodes,
++                               * so only the free inode count is expected to be
++                               * consistent with the agi
++                               */
++                              agcnts->fibtfreecount +=
++                                      be32_to_cpu(rp[i].ir_freecount);
+-                      suspect = scan_single_ino_chunk(agno, &rp[i], suspect);
++                              suspect = scan_single_finobt_chunk(agno, &rp[i],
++                                              suspect);
++                      }
+               }
+               if (suspect)
+@@ -1198,6 +1418,20 @@ validate_agi(
+                       be32_to_cpu(agi->agi_root), agno);
+       }
++      if (xfs_sb_version_hasfinobt(&mp->m_sb)) {
++              bno = be32_to_cpu(agi->agi_free_root);
++              if (bno != 0 && verify_agbno(mp, agno, bno)) {
++                      magic = xfs_sb_version_hascrc(&mp->m_sb) ?
++                                      XFS_FIBT_CRC_MAGIC : XFS_FIBT_MAGIC;
++                      scan_sbtree(bno, be32_to_cpu(agi->agi_free_level),
++                                  agno, 0, scan_inobt, 1, magic, agcnts,
++                                  &xfs_inobt_buf_ops);
++              } else {
++                      do_warn(_("bad agbno %u for finobt root, agno %d\n"),
++                              be32_to_cpu(agi->agi_free_root), agno);
++              }
++      }
++
+       if (be32_to_cpu(agi->agi_count) != agcnts->agicount) {
+               do_warn(_("agi_count %u, counted %u in ag %u\n"),
+                        be32_to_cpu(agi->agi_count), agcnts->agicount, agno);
+@@ -1208,6 +1442,13 @@ validate_agi(
+                       be32_to_cpu(agi->agi_freecount), agcnts->agifreecount, agno);
+       }
++      if (xfs_sb_version_hasfinobt(&mp->m_sb) &&
++          be32_to_cpu(agi->agi_freecount) != agcnts->fibtfreecount) {
++              do_warn(_("agi_freecount %u, counted %u in ag %u finobt\n"),
++                      be32_to_cpu(agi->agi_freecount), agcnts->fibtfreecount,
++                      agno);
++      }
++
+       for (i = 0; i < XFS_AGI_UNLINKED_BUCKETS; i++) {
+               xfs_agino_t     agino = be32_to_cpu(agi->agi_unlinked[i]);
+@@ -1255,6 +1496,7 @@ scan_ag(
+               goto out_free_sb;
+       }
+       libxfs_sb_from_disk(sb, XFS_BUF_TO_SBP(sbbuf));
++      libxfs_sb_quota_from_disk(sb);
+       agfbuf = libxfs_readbuf(mp->m_dev,
+                       XFS_AG_DADDR(mp, agno, XFS_AGF_DADDR(mp)),
+diff --git a/repair/xfs_repair.c b/repair/xfs_repair.c
+index 08b25f0..9eb2fa4 100644
+--- a/repair/xfs_repair.c
++++ b/repair/xfs_repair.c
+@@ -399,14 +399,18 @@ calc_mkfs(xfs_mount_t *mp)
+       do_inoalign = mp->m_sinoalign;
+       /*
+-       * pre-calculate geometry of ag 0.  We know what it looks
+-       * like because we know what mkfs does -- 3 btree roots,
+-       * and some number of blocks to prefill the agfl.
++       * Pre-calculate the geometry of ag 0. We know what it looks like
++       * because we know what mkfs does: 2 allocation btree roots (by block
++       * and by size), the inode allocation btree root, the free inode
++       * allocation btree root (if enabled) and some number of blocks to
++       * prefill the agfl.
+        */
+       bnobt_root = howmany(4 * mp->m_sb.sb_sectsize, mp->m_sb.sb_blocksize);
+       bcntbt_root = bnobt_root + 1;
+       inobt_root = bnobt_root + 2;
+       fino_bno = inobt_root + XFS_MIN_FREELIST_RAW(1, 1, mp) + 1;
++      if (xfs_sb_version_hasfinobt(&mp->m_sb))
++              fino_bno++;
+       /*
+        * If the log is allocated in the first allocation group we need to
index fa7a906772e5d5509fab7c7c8cd70e6c49b3c54e..1c280a3abb4dafe66ef0d7bf18f4281d48487dbe 100644 (file)
@@ -6,12 +6,13 @@ Summary:      Tools for the XFS filesystem
 Summary(pl.UTF-8):     Narzędzia do systemu plików XFS
 Name:          xfsprogs
 Version:       3.2.0
-Release:       2
+Release:       3
 License:       LGPL v2.1 (libhandle), GPL v2 (the rest)
 Group:         Applications/System
 Source0:       ftp://linux-xfs.sgi.com/projects/xfs/cmd_tars/%{name}-%{version}.tar.gz
 # Source0-md5: 400047b2f6af87c0345b8f0cc00c13db
 Source1:       xfs_lsprojid
+Patch100:      %{name}-git.patch
 Patch0:                %{name}-miscfix-v2.patch
 Patch1:                %{name}-pl.po-update.patch
 Patch2:                %{name}-repair-tcmalloc.patch
@@ -93,8 +94,9 @@ Biblioteki statyczne do XFS.
 
 %prep
 %setup -q
+%patch100 -p1
 %patch0 -p1
-%patch1 -p1
+#%patch1 -p1
 
 %{?with_tcmalloc:%patch2 -p1}
 %patch3 -p1
This page took 1.801646 seconds and 4 git commands to generate.