2013-06-05 16:31:16

by Rasmus Villemoes

[permalink] [raw]
Subject: [PATCH] fs: Properly pair fget_light/fput_light in fdget/fdput

fdget() is implemented using fget_light(). Its companion fdput()
currently open-codes the behaviour of fput_light(). This is slightly
confusing. To follow the documentation in fs/file.c:688ff to the
letter, use fput_light() in fdput().

Signed-off-by: Rasmus Villemoes <[email protected]>
---
include/linux/file.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/include/linux/file.h b/include/linux/file.h
index cbacf4f..30be9b0 100644
--- a/include/linux/file.h
+++ b/include/linux/file.h
@@ -33,8 +33,7 @@ struct fd {

static inline void fdput(struct fd fd)
{
- if (fd.need_put)
- fput(fd.file);
+ fput_light(fd.file, fd.need_put);
}

extern struct file *fget(unsigned int fd);
--
1.7.9.5