On 5/17/10, Jeff Roberson <jroberson_at_jroberson.net> wrote: > I fixed the sparse inode tunefs bug and changed the tunefs behavior based > on discussions here on current_at_. 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 porks_at_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 <jeff_at_FreeBSD.org> > To: src-committers_at_freebsd.org, svn-src-all_at_freebsd.org, > svn-src-head_at_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.trociny_at_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) > _at__at_ -358,10 +358,12 _at__at_ 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"); > } > } > } > _at__at_ -546,7 +548,7 _at__at_ 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; > _at__at_ -906,6 +908,8 _at__at_ 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_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" > -- Marcelo Rossi "This e-mail is provided "AS IS" with no warranties, and confers no rights."Received on Tue May 25 2010 - 21:17:42 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:03 UTC