summaryrefslogtreecommitdiffstats
path: root/fs/logfs/logfs.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2010-07-26 10:06:00 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2010-10-29 10:16:48 +0200
commite5a0726a953daf224ae42bcf5edaa64f71b4e8a7 (patch)
tree0f0be6f8e0b2324b5e29ac959837ab470afa0053 /fs/logfs/logfs.h
parentlogfs get_sb, part 3 (diff)
downloadlinux-e5a0726a953daf224ae42bcf5edaa64f71b4e8a7.tar.xz
linux-e5a0726a953daf224ae42bcf5edaa64f71b4e8a7.zip
logfs: fix a leak in get_sb
a) switch ->put_device() to logfs_super * b) actually call it on early failures in logfs_get_sb_device() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/logfs/logfs.h')
-rw-r--r--fs/logfs/logfs.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/logfs/logfs.h b/fs/logfs/logfs.h
index 5d2e66b48290..446c0f12d899 100644
--- a/fs/logfs/logfs.h
+++ b/fs/logfs/logfs.h
@@ -136,6 +136,7 @@ struct logfs_area_ops {
int (*erase_segment)(struct logfs_area *area);
};
+struct logfs_super; /* forward */
/**
* struct logfs_device_ops - device access operations
*
@@ -156,7 +157,7 @@ struct logfs_device_ops {
int ensure_write);
int (*can_write_buf)(struct super_block *sb, u64 ofs);
void (*sync)(struct super_block *sb);
- void (*put_device)(struct super_block *sb);
+ void (*put_device)(struct logfs_super *s);
};
/**