X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fsync.c;h=11e3d1c449018dcf9a95c352746f46d6522c4cb2;hb=c217a2a004d98d09dfceec3a023c563ed800e833;hp=0e8db939d96f8fdaa072df7e6fcadb15a5781a84;hpb=84e92ef4f7addba97ff54810d1602b47d7c00ca4;p=~andy%2Flinux diff --git a/fs/sync.c b/fs/sync.c index 0e8db939d96..11e3d1c4490 100644 --- a/fs/sync.c +++ b/fs/sync.c @@ -188,11 +188,12 @@ static int do_fsync(unsigned int fd, int datasync) { struct file *file; int ret = -EBADF; + int fput_needed; - file = fget(fd); + file = fget_light(fd, &fput_needed); if (file) { ret = vfs_fsync(file, datasync); - fput(file); + fput_light(file, fput_needed); } return ret; }