Thread (5 messages) 5 messages, 4 authors, 2015-06-05

RE: Is ext2 freezable?

From: Dexuan Cui <decui@microsoft.com>
Date: 2014-09-18 06:46:40

-----Original Message-----
From: Dexuan Cui
Sent: Thursday, September 18, 2014 13:16 PM
To: linux-ext4@vger.kernel.org
Subject: Is ext2 freezable?

Hi all,
I'm running "fsfreeze  --freeze /mnt" (/mnt is mounted with an ext2 partition)
and getting "fsfreeze: /mnt: freeze failed: Operation not supported":
...
code of ioctl_fsfreeze() is:

static int ioctl_fsfreeze(struct file *filp)
{
        struct super_block *sb = file_inode(filp)->i_sb;

        if (!capable(CAP_SYS_ADMIN))
                return -EPERM;

        /* If filesystem doesn't support freeze feature, return. */
        if (sb->s_op->freeze_fs == NULL)
                return -EOPNOTSUPP;

        /* Freeze */
        return freeze_super(sb);
}

It seems here sb->s_op->freeze_fs is NULL??? why?
I've got the answer:
ext2.ko itself does support fsfreeze, but typical linux distros don't supply
ext2.ko at all now -- instead, they usually supply ext3.ko and have ext4 builtin.

So when I mount an ext2 partition, actually the kernel is registering the ext4
driver as an ext2 driver and in this case the ext2's s_op->freeze_fs is NULL --
but, why did ext4 choose this behavior for ext2?

Thanks,
-- Dexuan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help