On 5/17/10, Jeff Roberson <jrober...@jroberson.net> wrote:
> I fixed the sparse inode tunefs bug and changed the tunefs behavior based
> on discussions here on curr...@.  Hopefully this works for everyone.

Hi! I tested the r208241 and it's seems to be ok but this calls my
atention to other thing: Could I disable de SU when the SUJ is
enabled?

I did some tests and seems that I can do this (logs bellow).

But will SUJ work properly with SU disabled?

Thanks.

========== logs ============
BARAD-DUR# uname -a
FreeBSD BARAD-DUR.BUTECO 9.0-CURRENT FreeBSD 9.0-CURRENT #11 r208366:
Thu May 20 21:52:36 BRT 2010
po...@barad-dur.buteco:/usr/obj/usr/src/sys/BARAD-DUR  i386
BARAD-DUR# df -h /dev/ad2s1d
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad2s1d     72G     54G     12G    82%
BARAD-DUR# df -h | grep /dev/ad2s1d
BARAD-DUR# tunefs -p /dev/ad2s1d
tunefs: POSIX.1e ACLs: (-a)                                disabled
tunefs: NFSv4 ACLs: (-N)                                   disabled
tunefs: MAC multilabel: (-l)                               disabled
tunefs: soft updates: (-n)                                 enabled
tunefs: soft update journaling: (-j)                       disabled
tunefs: gjournal: (-J)                                     disabled
tunefs: maximum blocks per file in a cylinder group: (-e)  2048
tunefs: average file size: (-f)                            16384
tunefs: average number of files in a directory: (-s)       64
tunefs: minimum percentage of free space: (-m)             8%
tunefs: optimization preference: (-o)                      time
tunefs: volume label: (-L)
BARAD-DUR# tunefs -j enable /dev/ad2s1d
Using inode 13 in cg 0 for 33554432 byte journal
tunefs: soft updates journaling set
BARAD-DUR# tunefs -p /dev/ad2s1d
tunefs: POSIX.1e ACLs: (-a)                                disabled
tunefs: NFSv4 ACLs: (-N)                                   disabled
tunefs: MAC multilabel: (-l)                               disabled
tunefs: soft updates: (-n)                                 enabled
tunefs: soft update journaling: (-j)                       enabled
tunefs: gjournal: (-J)                                     disabled
tunefs: maximum blocks per file in a cylinder group: (-e)  2048
tunefs: average file size: (-f)                            16384
tunefs: average number of files in a directory: (-s)       64
tunefs: minimum percentage of free space: (-m)             8%
tunefs: optimization preference: (-o)                      time
tunefs: volume label: (-L)
BARAD-DUR# tunefs -n disable /dev/ad2s1d
tunefs: soft updates cleared
BARAD-DUR# tunefs -p /dev/ad2s1d
tunefs: POSIX.1e ACLs: (-a)                                disabled
tunefs: NFSv4 ACLs: (-N)                                   disabled
tunefs: MAC multilabel: (-l)                               disabled
tunefs: soft updates: (-n)                                 disabled
tunefs: soft update journaling: (-j)                       enabled
tunefs: gjournal: (-J)                                     disabled
tunefs: maximum blocks per file in a cylinder group: (-e)  2048
tunefs: average file size: (-f)                            16384
tunefs: average number of files in a directory: (-s)       64
tunefs: minimum percentage of free space: (-m)             8%
tunefs: optimization preference: (-o)                      time
tunefs: volume label: (-L)
BARAD-DUR# mount /dev/ad2s1d
BARAD-DUR# df -h | grep /dev/ad2s1d
/dev/ad2s1d     72G     54G     12G    82%    /mnt/ad2s1d
BARAD-DUR# ls -lah /mnt/ad2s1d/test.log
ls: /mnt/ad2s1d/test.log: No such file or directory
BARAD-DUR# echo "test data" >> /mnt/ad2s1d/test.log
BARAD-DUR# ls -lah /mnt/ad2s1d/test.log
-rw-r--r--  1 root  wheel    10B May 25 19:36 /mnt/ad2s1d/test.log
BARAD-DUR# cat /mnt/ad2s1d/test.log
test data
BARAD-DUR#


> I have one bad perf bug and one journal overflow bug left to resolve.
> Please keeps the reports coming and thank you for your help.
>
> Thanks,
> Jeff
>
> ---------- Forwarded message ----------
> Date: Tue, 18 May 2010 01:45:28 +0000 (UTC)
> From: Jeff Roberson <j...@freebsd.org>
> To: src-committ...@freebsd.org, svn-src-...@freebsd.org,
>      svn-src-h...@freebsd.org
> Subject: svn commit: r208241 - head/sbin/tunefs
>
> Author: jeff
> Date: Tue May 18 01:45:28 2010
> New Revision: 208241
> URL: http://svn.freebsd.org/changeset/base/208241
>
> Log:
>     - Round up the journal size to the block size so we don't confuse fsck.
>
>    Reported by:       Mikolaj Golub <to.my.troc...@gmail.com>
>
>     - Only require 256k of blocks per-cg when trying to allocate contiguous
>       journal blocks.  The storage may not actually be contiguous but is at
>       least within one cg.
>     - When disabling SUJ leave SU enabled and report this to the user.  It
>       is expected that users will upgrade SU filesystems to SUJ and want
>       a similar downgrade path.
>
> Modified:
>    head/sbin/tunefs/tunefs.c
>
> Modified: head/sbin/tunefs/tunefs.c
> ==============================================================================
> --- head/sbin/tunefs/tunefs.c Tue May 18 00:46:15 2010        (r208240)
> +++ head/sbin/tunefs/tunefs.c Tue May 18 01:45:28 2010        (r208241)
> @@ -358,10 +358,12 @@ main(int argc, char *argv[])
>                               warnx("%s remains unchanged as disabled", name);
>                       } else {
>                               journal_clear();
> -                             sblock.fs_flags &= ~(FS_DOSOFTDEP | FS_SUJ);
> +                             sblock.fs_flags &= ~FS_SUJ;
>                               sblock.fs_sujfree = 0;
> -                             warnx("%s cleared, "
> -                                 "remove .sujournal to reclaim space", name);
> +                             warnx("%s cleared but soft updates still set.",
> +                                 name);
> +
> +                             warnx("remove .sujournal to reclaim space");
>                       }
>               }
>       }
> @@ -546,7 +548,7 @@ journal_balloc(void)
>                        * Try to minimize fragmentation by requiring a minimum
>                        * number of blocks present.
>                        */
> -                     if (cgp->cg_cs.cs_nbfree > 128 * 1024 * 1024)
> +                     if (cgp->cg_cs.cs_nbfree > 256 * 1024)
>                               break;
>                       if (contig == 0 && cgp->cg_cs.cs_nbfree)
>                               break;
> @@ -906,6 +908,8 @@ journal_alloc(int64_t size)
>               if (size / sblock.fs_fsize > sblock.fs_fpg)
>                       size = sblock.fs_fpg * sblock.fs_fsize;
>               size = MAX(SUJ_MIN, size);
> +             /* fsck does not support fragments in journal files. */
> +             size = roundup(size, sblock.fs_bsize);
>       }
>       resid = blocks = size / sblock.fs_bsize;
>       if (sblock.fs_cstotal.cs_nbfree < blocks) {
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
>


-- 
Marcelo Rossi
"This e-mail is provided "AS IS" with no warranties, and confers no rights."
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to