fs/lock: Rearrange ops in flock syscall.
authorKuniyuki Iwashima <kuniyu@amazon.com>
Sun, 17 Jul 2022 04:35:32 +0000 (21:35 -0700)
committerJeff Layton <jlayton@kernel.org>
Mon, 18 Jul 2022 14:01:47 +0000 (10:01 -0400)
commitdb4abb4a32ec979ea5deea4d0095fa22ec99a623
tree033971c65e29a89b4c8d35ceaa082047be16d0f5
parent4149be7bda7e1b922896599dd9cee7a3ed8cf38b
fs/lock: Rearrange ops in flock syscall.

The previous patch added flock_translate_cmd() in flock syscall.
The test and the other one for LOCK_MAND do not depend on struct
fd and are cheaper, so we can put them at the top and defer
fdget() after that.

Also, we can remove the unlock variable and use type instead.
While at it, we fix this checkpatch error.

  CHECK: spaces preferred around that '|' (ctx:VxV)
  #45: FILE: fs/locks.c:2099:
  + if (type != F_UNLCK && !(f.file->f_mode & (FMODE_READ|FMODE_WRITE)))
                                                         ^

Finally, we can move the can_sleep part just before we use it.

Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
fs/locks.c