Hi Everyone,

Recently i created a snapshot of an existing volume which had some amount of data. Now that after creating the snapshot i have tried deleting the same snapshot. But i am getting ENOTEMPTY for "rmdir". But when i see the actual files inside are deleted
     not the parent directory.

     From the code it looks like

     if (inode->i_size > BTRFS_EMPTY_DIR_SIZE ||
            inode->i_ino == BTRFS_FIRST_FREE_OBJECTID)
                return -ENOTEMPTY;

Why would "unlink" succeeds for the files inside the directory?, yet returning ENOTEMPTY

This looks odd after this, i went ahead and tried deleting the the existing volume itself
     same result.

So i was wondering if at all this is supposed to work this way, do i need to use "btrfs"
     commands to delete subvolumes always? and their relative snapshots?.

But either in that case too returning ENOTEMPTY does confuse a user a lot. Isn't it valid just by returning EPERM will explain a lot to users saying that this is a snapshot of a subvolume or a parent subvolume which is not supposed to be deleted this way.

Regards

--
Harshavardhana
http://www.gluster.com

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to