diff options
author | Mingming <cmm@us.ibm.com> | 2008-05-27 10:55:43 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:04:03 -0400 |
commit | e1b81e6761bd8419146d4bbe0aadd8b2d348a01c (patch) | |
tree | a21c101b1dddf5acfd26dc8cd09570acb193b25e /fs/btrfs/file.c | |
parent | da496f2acf61153e0d4d42ded6a53f3367939db0 (diff) |
btrfs delete ordered inode handling fix
Use btrfs_release_file instead of a put_inode call
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/file.c')
-rw-r--r-- | fs/btrfs/file.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index d968900c6973..c4fa4664a456 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c | |||
@@ -978,6 +978,12 @@ out_nolock: | |||
978 | return num_written ? num_written : err; | 978 | return num_written ? num_written : err; |
979 | } | 979 | } |
980 | 980 | ||
981 | static int btrfs_release_file (struct inode * inode, struct file * filp) | ||
982 | { | ||
983 | btrfs_del_ordered_inode(inode); | ||
984 | return 0; | ||
985 | } | ||
986 | |||
981 | static int btrfs_sync_file(struct file *file, | 987 | static int btrfs_sync_file(struct file *file, |
982 | struct dentry *dentry, int datasync) | 988 | struct dentry *dentry, int datasync) |
983 | { | 989 | { |
@@ -1044,6 +1050,7 @@ struct file_operations btrfs_file_operations = { | |||
1044 | .write = btrfs_file_write, | 1050 | .write = btrfs_file_write, |
1045 | .mmap = btrfs_file_mmap, | 1051 | .mmap = btrfs_file_mmap, |
1046 | .open = generic_file_open, | 1052 | .open = generic_file_open, |
1053 | .release = btrfs_release_file, | ||
1047 | .fsync = btrfs_sync_file, | 1054 | .fsync = btrfs_sync_file, |
1048 | .unlocked_ioctl = btrfs_ioctl, | 1055 | .unlocked_ioctl = btrfs_ioctl, |
1049 | #ifdef CONFIG_COMPAT | 1056 | #ifdef CONFIG_COMPAT |