Bug 12790 (ext4_fill_super)

Summary: kernel build warning causes EXT4 boot warning
Product: File System Reporter: Thoralf Dassler (kdato)
Component: ext4Assignee: fs_ext4 (fs_ext4)
Status: RESOLVED INVALID    
Severity: normal CC: tytso
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.28.7 Subsystem:
Regression: No Bisected commit-id:
Attachments: .config

Description Thoralf Dassler 2009-02-28 02:25:45 UTC
Latest working kernel version: unknown
Earliest failing kernel version: unknown
Distribution: Slamd64
Hardware Environment: Toshiba Satellite P200
Software Environment: n/a
Problem Description: Boot message: 
EXT4-fs warning (device sda1): ext4_fill_super: extents feature not enabled on this filesystem, use tune2fs.
Steps to reproduce: boot into Linux

I get these lines when I build the kernel: 
CC      fs/ext4/super.o
fs/ext4/super.c: In function 'ext4_fill_super':
fs/ext4/super.c:2177: warning: format '%u' expects type 'unsigned int', but argument 2 has type 'ext4_group_t'

See .config attached. I also noticed several patches on Google, but am reluctant to apply them.
Comment 1 Thoralf Dassler 2009-02-28 02:26:51 UTC
Created attachment 20388 [details]
.config
Comment 2 Theodore Tso 2009-02-28 06:12:56 UTC
The two are unrelated.  The boot-time warning is because you are using the ext4 filesystem driver on a file system that does not have extents.  This is harmless unless it's not what you wanted to do.  This might be because you have ext4 built into a system where you have an ext2 root file system, or because you explicitly asked for the filesystem to be mounted with ext4 even though it doesn't have the extents feature enabled.

The build warning is harmless, and is fixed in 2.6.29 when we make ext4_group_t be an unsigned int --- it has no need to be an unsigned long.
Comment 3 Thoralf Dassler 2009-02-28 08:07:56 UTC
Tahnks for clarifying.