In message <20071028141222.GA29323@xxxxxxxxxxxxx>, Christoph Hellwig writes: > Nice, I always hated these double-indented switch statements. > > > + case FIBMAP: > > + { > > + struct address_space *mapping = filp->f_mapping; > > + int res; > > + /* do we support this mess? */ > > + if (!mapping->a_ops->bmap) > > + return -EINVAL; > > + if (!capable(CAP_SYS_RAWIO)) > > + return -EPERM; > > + error = get_user(block, p); > > + if (error) > > + return error; > > + lock_kernel(); > > + res = mapping->a_ops->bmap(mapping, block); > > + unlock_kernel(); > > + return put_user(res, p); > > While you're at it, it's probably worth splitting this out into > a small helper function. Sure. I assume you mean an internal function to encapsulate the entire case statement's code, one for each of the FIO* cases. Erez. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html