On 3/25/15 5:46 AM, Lukas Czerner wrote: > Currently we're unable to online resize very small (smaller than 32 MB) > file systems with 1k block size because there is not enough space in the > journal to put all the reserved gdt blocks. So, I'll get to the patch review if I need to, but this all seemed a little odd; this is a regression, so do we really need to restrict things at mkfs time? On the userspace side, things were ok until: 9f6ba88 resize2fs: add support for new in-kernel online resize ioctl and even with that, on the kernelspace side, things were ok until: 8f7d89f jbd2: transaction reservation support I guess I'm trying to understand why that jbd2 commit regressed this. I've not been paying enough attention to ext4 lately. ;) I mean, the threshold got chopped in half: - if (nblocks > journal->j_max_transaction_buffers) { + /* + * 1/2 of transaction can be reserved so we can practically handle + * only 1/2 of maximum transaction size per operation + */ + if (WARN_ON(blocks > journal->j_max_transaction_buffers / 2)) { printk(KERN_ERR "JBD2: %s wants too many credits (%d > %d)\n", - current->comm, nblocks, - journal->j_max_transaction_buffers); + current->comm, blocks, + journal->j_max_transaction_buffers / 2); return -ENOSPC; } so it's clear why the behavior changed, I guess, but it feels like I must be missing something here. The reproducer, for those playing along at home, is something like: mkfs.ext4 /dev/sda 20M mount /dev/sda /mnt/test resize2fs /dev/sda 200M -Eric -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html