Bug 660717
Summary: | gfs2 FIEMAP oops | |||
---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Petr Pisar <ppisar> | |
Component: | kernel | Assignee: | Josef Bacik <jbacik> | |
Status: | CLOSED UPSTREAM | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | |
Severity: | high | Docs Contact: | ||
Priority: | high | |||
Version: | 14 | CC: | adas, bmarzins, dougsland, gansalmon, itamar, jbacik, jonathan, kernel-maint, madhu.chinakonda, rpeterso, swhiteho | |
Target Milestone: | --- | |||
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | Bug Fix | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 663041 663042 (view as bug list) | Environment: | ||
Last Closed: | 2011-02-08 12:15:46 UTC | Type: | --- | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 663041, 663042 |
Description
Petr Pisar
2010-12-07 16:48:13 UTC
The system call in which the oops has triggered is the FIEMAP ioctl and not the quota sync syscall. It appears to have triggered this check: int gfs2_block_map(struct inode *inode, sector_t lblock, struct buffer_head *bh_map, int create) { . . . const unsigned int maxlen = bh_map->b_size >> inode->i_blkbits; . . . BUG_ON(maxlen == 0); so it looks like somehow a request has been passed to GFS2 asking to map an extent which is 0 blocks in length. That sounds like something which the generic part of FIEMAP should really be checking for. It doesn't appear that this has any direct relationship with quota, anyway. We'll try and fix this up as soon as we can. Petr, also I should explain that the quota limits in GFS2 are not always exact. There is a lot of overhead in making the limits exact, so that running with defaults, it is sometimes possible to exceed the limits. We have mount command line options which bound the quota accuracy in time and space and these can be changed to give exact results if required. Also note that root doesn't have quota limits enforced normally. You'll need to try your test with non-root users I suspect. Now fixed in the upstream kernel. Josef, are you intending to send it to -stable as well? It probably should be copied there. |