mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 00:34:52 +00:00
btrfs: send: return -ENAMETOOLONG when attempting a path that is too long
When attempting to build a too long path we are currently returning -ENOMEM, which is very odd and misleading. So update fs_path_ensure_buf() to return -ENAMETOOLONG instead. Also, while at it, move the WARN_ON() into the if statement's expression, as it makes it clear what is being tested and also has the effect of adding 'unlikely' to the statement, which allows the compiler to generate better code as this condition is never expected to happen. Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
78843d7e4e
commit
a77749b3e2
1 changed files with 2 additions and 4 deletions
|
@ -484,10 +484,8 @@ static int fs_path_ensure_buf(struct fs_path *p, int len)
|
|||
if (p->buf_len >= len)
|
||||
return 0;
|
||||
|
||||
if (len > PATH_MAX) {
|
||||
WARN_ON(1);
|
||||
return -ENOMEM;
|
||||
}
|
||||
if (WARN_ON(len > PATH_MAX))
|
||||
return -ENAMETOOLONG;
|
||||
|
||||
path_len = fs_path_len(p);
|
||||
old_buf_len = p->buf_len;
|
||||
|
|
Loading…
Add table
Reference in a new issue