2014-01-08 11:08:04

by Kusanagi Kouichi

[permalink] [raw]
Subject: [PATCH] btrfs: Return EXDEV for cross file system snapshot

EXDEV seems an appropriate error if an operation fails bacause it
crosses file system boundaries.

Signed-off-by: Kusanagi Kouichi <[email protected]>
---
fs/btrfs/ioctl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 21da576..15d35cb 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -1544,7 +1544,7 @@ static noinline int btrfs_ioctl_snap_create_transid(struct file *file,
if (src_inode->i_sb != file_inode(file)->i_sb) {
printk(KERN_INFO "btrfs: Snapshot src from "
"another FS\n");
- ret = -EINVAL;
+ ret = -EXDEV;
} else {
ret = btrfs_mksubvol(&file->f_path, name, namelen,
BTRFS_I(src_inode)->root,
--
1.8.5.2


2014-01-08 15:15:02

by David Sterba

[permalink] [raw]
Subject: Re: [PATCH] btrfs: Return EXDEV for cross file system snapshot

On Wed, Jan 08, 2014 at 07:46:19PM +0900, Kusanagi Kouichi wrote:
> EXDEV seems an appropriate error if an operation fails bacause it
> crosses file system boundaries.
>
> Signed-off-by: Kusanagi Kouichi <[email protected]>
Reviewed-by: David Sterba <[email protected]>

2014-01-28 15:45:59

by Josef Bacik

[permalink] [raw]
Subject: Re: [PATCH] btrfs: Return EXDEV for cross file system snapshot


On 01/08/2014 05:46 AM, Kusanagi Kouichi wrote:
> EXDEV seems an appropriate error if an operation fails bacause it
> crosses file system boundaries.
>
> Signed-off-by: Kusanagi Kouichi <[email protected]>
> ---
> fs/btrfs/ioctl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
> index 21da576..15d35cb 100644
> --- a/fs/btrfs/ioctl.c
> +++ b/fs/btrfs/ioctl.c
> @@ -1544,7 +1544,7 @@ static noinline int btrfs_ioctl_snap_create_transid(struct file *file,
> if (src_inode->i_sb != file_inode(file)->i_sb) {
> printk(KERN_INFO "btrfs: Snapshot src from "
> "another FS\n");
> - ret = -EINVAL;
> + ret = -EXDEV;
> } else {
> ret = btrfs_mksubvol(&file->f_path, name, namelen,
> BTRFS_I(src_inode)->root,
Doesn't apply cleanly to btrfs-next, please rebase and try again. Thanks,

Josef