瀏覽代碼

Btrfs: allow treeid==0 in the inode lookup ioctl

When a root id of 0 is sent to the inode lookup ioctl, it will
use the root of the file we're ioctling and pass the root id
back to userland along with the results.

This allows userland to do searches based on that root later on.


Signed-off-by: Chris Mason <chris.mason@oracle.com>
Chris Mason 15 年之前
父節點
當前提交
1b53ac4d1b
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      fs/btrfs/ioctl.c

+ 3 - 0
fs/btrfs/ioctl.c

@@ -1215,6 +1215,9 @@ static noinline int btrfs_ioctl_ino_lookup(struct file *file,
 	}
 	}
 	inode = fdentry(file)->d_inode;
 	inode = fdentry(file)->d_inode;
 
 
+	if (args->treeid == 0)
+		args->treeid = BTRFS_I(inode)->root->root_key.objectid;
+
 	ret = btrfs_search_path_in_tree(BTRFS_I(inode)->root->fs_info,
 	ret = btrfs_search_path_in_tree(BTRFS_I(inode)->root->fs_info,
 					args->treeid, args->objectid,
 					args->treeid, args->objectid,
 					args->name);
 					args->name);