* Enabling lazy counters damages filesystem
@ 2010-04-28 14:34 Marcin Mirosław
2010-04-28 21:40 ` Eric Sandeen
2010-04-28 23:04 ` Dave Chinner
0 siblings, 2 replies; 7+ messages in thread
From: Marcin Mirosław @ 2010-04-28 14:34 UTC (permalink / raw)
To: xfs
Hello,
Please look at this:
# mkfs.xfs -f /dev/malowazne/test
meta-data=/dev/malowazne/test isize=256 agcount=4, agsize=524288 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=2097152, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=0
realtime =none extsz=4096 blocks=0, rtextents=0
# xfs_check /dev/malowazne/test
# xfs_check /dev/malowazne/test
It's still clean.
# xfs_admin -c 1 /dev/malowazne/test
Enabling lazy-counters
# xfs_check /dev/malowazne/test
sb_features2 (0xa) not same as sb_bad_features2 (0x8)
Not good, let's repair fs:
# xfs_repair /dev/malowazne/test
Phase 1 - find and verify superblock...
superblock has a features2 mismatch, correcting
writing modified primary superblock
Phase 2 - using internal log
- zero log...
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done
Now i'm trying to turn off lazy counters:
# xfs_admin -c 0 /dev/malowazne/test
Disabling lazy-counters
# xfs_check /dev/malowazne/test
sb_features2 (0x8) not same as sb_bad_features2 (0xa)
# xfs_repair /dev/malowazne/test
Phase 1 - find and verify superblock...
superblock has a features2 mismatch, correcting
writing modified primary superblock
Phase 2 - using internal log
- zero log...
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done
# mount /dev/malowazne/test /mnt/test
# xfs_info /dev/malowazne/test
meta-data=/dev/mapper/malowazne-test isize=256 agcount=4,
agsize=524288 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=2097152, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
So as you can see lazy conters are still turn on.
I'm using:
# mkfs.xfs -V
mkfs.xfs version 3.0.3
# uname -r
2.6.33-zen2
The same problem noticed with kernel-2.6.28-r9 with grsecurity, and with
xfsprogs-3.0.0 .
Is this behaviour bug or i don't know about something that i should?:)
Regards!
Marcin
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: Enabling lazy counters damages filesystem
2010-04-28 14:34 Enabling lazy counters damages filesystem Marcin Mirosław
@ 2010-04-28 21:40 ` Eric Sandeen
2010-04-28 23:04 ` Dave Chinner
1 sibling, 0 replies; 7+ messages in thread
From: Eric Sandeen @ 2010-04-28 21:40 UTC (permalink / raw)
To: Marcin Miros?aw; +Cc: xfs
Marcin Miros?aw wrote:
> Hello,
> Please look at this:
> # mkfs.xfs -f /dev/malowazne/test
> meta-data=/dev/malowazne/test isize=256 agcount=4, agsize=524288 blks
> = sectsz=512 attr=2
> data = bsize=4096 blocks=2097152, imaxpct=25
> = sunit=0 swidth=0 blks
> naming =version 2 bsize=4096 ascii-ci=0
> log =internal log bsize=4096 blocks=2560, version=2
> = sectsz=512 sunit=0 blks, lazy-count=0
> realtime =none extsz=4096 blocks=0, rtextents=0
>
> # xfs_check /dev/malowazne/test
> # xfs_check /dev/malowazne/test
>
> It's still clean.
>
> # xfs_admin -c 1 /dev/malowazne/test
> Enabling lazy-counters
> # xfs_check /dev/malowazne/test
> sb_features2 (0xa) not same as sb_bad_features2 (0x8)
ok, I guess that mechanism is not hitting both sb fields.
Should be a trivial fix, something like below.
-Eric
diff --git a/repair/phase1.c b/repair/phase1.c
index 618796e..dbfbc9b 100644
--- a/repair/phase1.c
+++ b/repair/phase1.c
@@ -117,11 +117,13 @@ phase1(xfs_mount_t *mp)
if (lazy_count && !xfs_sb_version_haslazysbcount(sb)) {
sb->sb_versionnum |= XFS_SB_VERSION_MOREBITSBIT;
sb->sb_features2 |= XFS_SB_VERSION2_LAZYSBCOUNTBIT;
+ sb->sb_bad_features2 |= XFS_SB_VERSION2_LAZYSBCOUNTBIT;
primary_sb_modified = 1;
printf(_("Enabling lazy-counters\n"));
} else
if (!lazy_count && xfs_sb_version_haslazysbcount(sb)) {
sb->sb_features2 &= ~XFS_SB_VERSION2_LAZYSBCOUNTBIT;
+ sb->sb_bad_features2 &= ~XFS_SB_VERSION2_LAZYSBCOUNTBIT;
printf(_("Disabling lazy-counters\n"));
primary_sb_modified = 1;
} else {
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: Enabling lazy counters damages filesystem
2010-04-28 14:34 Enabling lazy counters damages filesystem Marcin Mirosław
2010-04-28 21:40 ` Eric Sandeen
@ 2010-04-28 23:04 ` Dave Chinner
2010-04-29 1:43 ` Dave Chinner
1 sibling, 1 reply; 7+ messages in thread
From: Dave Chinner @ 2010-04-28 23:04 UTC (permalink / raw)
To: Marcin Mirosław; +Cc: xfs
On Wed, Apr 28, 2010 at 04:34:25PM +0200, Marcin Mirosław wrote:
> Hello,
> Please look at this:
> # mkfs.xfs -f /dev/malowazne/test
> meta-data=/dev/malowazne/test isize=256 agcount=4, agsize=524288 blks
> = sectsz=512 attr=2
> data = bsize=4096 blocks=2097152, imaxpct=25
> = sunit=0 swidth=0 blks
> naming =version 2 bsize=4096 ascii-ci=0
> log =internal log bsize=4096 blocks=2560, version=2
> = sectsz=512 sunit=0 blks, lazy-count=0
> realtime =none extsz=4096 blocks=0, rtextents=0
>
> # xfs_check /dev/malowazne/test
> # xfs_check /dev/malowazne/test
>
> It's still clean.
>
> # xfs_admin -c 1 /dev/malowazne/test
> Enabling lazy-counters
> # xfs_check /dev/malowazne/test
> sb_features2 (0xa) not same as sb_bad_features2 (0x8)
....
> So as you can see lazy conters are still turn on.
> I'm using:
> # mkfs.xfs -V
> mkfs.xfs version 3.0.3
This was fixed in 3.0.5, IIRC. Please upgrade.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Enabling lazy counters damages filesystem
2010-04-28 23:04 ` Dave Chinner
@ 2010-04-29 1:43 ` Dave Chinner
2010-04-29 1:51 ` Eric Sandeen
0 siblings, 1 reply; 7+ messages in thread
From: Dave Chinner @ 2010-04-29 1:43 UTC (permalink / raw)
To: Marcin Mirosław; +Cc: xfs
On Thu, Apr 29, 2010 at 09:04:47AM +1000, Dave Chinner wrote:
> On Wed, Apr 28, 2010 at 04:34:25PM +0200, Marcin Mirosław wrote:
> > Hello,
> > Please look at this:
> > # mkfs.xfs -f /dev/malowazne/test
> > meta-data=/dev/malowazne/test isize=256 agcount=4, agsize=524288 blks
> > = sectsz=512 attr=2
> > data = bsize=4096 blocks=2097152, imaxpct=25
> > = sunit=0 swidth=0 blks
> > naming =version 2 bsize=4096 ascii-ci=0
> > log =internal log bsize=4096 blocks=2560, version=2
> > = sectsz=512 sunit=0 blks, lazy-count=0
> > realtime =none extsz=4096 blocks=0, rtextents=0
> >
> > # xfs_check /dev/malowazne/test
> > # xfs_check /dev/malowazne/test
> >
> > It's still clean.
> >
> > # xfs_admin -c 1 /dev/malowazne/test
> > Enabling lazy-counters
> > # xfs_check /dev/malowazne/test
> > sb_features2 (0xa) not same as sb_bad_features2 (0x8)
> ....
>
> > So as you can see lazy conters are still turn on.
> > I'm using:
> > # mkfs.xfs -V
> > mkfs.xfs version 3.0.3
>
> This was fixed in 3.0.5, IIRC. Please upgrade.
Actually, 3.1.0 was the first release with the fix to xfs_db that
prevents this problem.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Enabling lazy counters damages filesystem
2010-04-29 1:43 ` Dave Chinner
@ 2010-04-29 1:51 ` Eric Sandeen
2010-04-29 2:05 ` Dave Chinner
0 siblings, 1 reply; 7+ messages in thread
From: Eric Sandeen @ 2010-04-29 1:51 UTC (permalink / raw)
To: Dave Chinner; +Cc: Marcin Mirosław, xfs
Dave Chinner wrote:
...
> Actually, 3.1.0 was the first release with the fix to xfs_db that
> prevents this problem.
>
> Cheers,
>
> Dave.
not so sure:
# rpm -q xfsprogs
xfsprogs-3.1.1-7
# mkfs.xfs -dfile,name=fsfile,size=10g -llazy-count=0
meta-data=fsfile isize=256 agcount=4, agsize=655360 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=0
realtime =none extsz=4096 blocks=0, rtextents=0
# xfs_admin -c 1 fsfile
Enabling lazy-counters
# xfs_check fsfile
sb_features2 (0xa) not same as sb_bad_features2 (0x8)
# xfs_repair fsfile
Phase 1 - find and verify superblock...
superblock has a features2 mismatch, correcting
writing modified primary superblock
...
-Eric
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: Enabling lazy counters damages filesystem
2010-04-29 1:51 ` Eric Sandeen
@ 2010-04-29 2:05 ` Dave Chinner
2010-04-29 8:03 ` Marcin Mirosław
0 siblings, 1 reply; 7+ messages in thread
From: Dave Chinner @ 2010-04-29 2:05 UTC (permalink / raw)
To: Eric Sandeen; +Cc: Marcin Mirosław, xfs
On Wed, Apr 28, 2010 at 08:51:30PM -0500, Eric Sandeen wrote:
> Dave Chinner wrote:
>
> ...
>
> > Actually, 3.1.0 was the first release with the fix to xfs_db that
> > prevents this problem.
> >
> > Cheers,
> >
> > Dave.
>
> not so sure:
Yeah, you are right. I was thinking that xfs_db did the feature bit
modifications, then repair just fixed up the accounting. but repair
does both in this case. I should remember code that I wrote years
ago, but for some reason it all seems to be a little bit hazy...
Let me go look at your repair patch again ;)
Cheers,
dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Enabling lazy counters damages filesystem
2010-04-29 2:05 ` Dave Chinner
@ 2010-04-29 8:03 ` Marcin Mirosław
0 siblings, 0 replies; 7+ messages in thread
From: Marcin Mirosław @ 2010-04-29 8:03 UTC (permalink / raw)
To: xfs
W dniu 29.04.2010 04:05, Dave Chinner pisze:
> Yeah, you are right. I was thinking that xfs_db did the feature bit
> modifications, then repair just fixed up the accounting. but repair
> does both in this case. I should remember code that I wrote years
> ago, but for some reason it all seems to be a little bit hazy...
>
> Let me go look at your repair patch again ;)
Hi,
Eric, Dave, thank you for quick replay and patch. Patch solves problem
for me:)
Regards!
Marcin
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-04-29 8:01 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-28 14:34 Enabling lazy counters damages filesystem Marcin Mirosław
2010-04-28 21:40 ` Eric Sandeen
2010-04-28 23:04 ` Dave Chinner
2010-04-29 1:43 ` Dave Chinner
2010-04-29 1:51 ` Eric Sandeen
2010-04-29 2:05 ` Dave Chinner
2010-04-29 8:03 ` Marcin Mirosław
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox