patch-2.4.0-test3 linux/fs/udf/symlink.c
Next file: linux/fs/udf/udfdecl.h
Previous file: linux/fs/udf/super.c
Back to the patch index
Back to the overall index
- Lines: 30
- Date:
Wed Jul 5 11:31:01 2000
- Orig file:
v2.4.0-test2/linux/fs/udf/symlink.c
- Orig date:
Thu May 11 15:30:08 2000
diff -u --recursive --new-file v2.4.0-test2/linux/fs/udf/symlink.c linux/fs/udf/symlink.c
@@ -34,6 +34,7 @@
#include <linux/stat.h>
#include <linux/malloc.h>
#include <linux/pagemap.h>
+#include <linux/smp_lock.h>
#include "udf_i.h"
static void udf_pc_to_char(char *from, int fromlen, char *to)
@@ -84,6 +85,7 @@
int err = -EIO;
char *p = (char *)kmap(page);
+ lock_kernel();
if (UDF_I_ALLOCTYPE(inode) == ICB_FLAG_AD_IN_ICB)
{
bh = udf_tread(inode->i_sb, inode->i_ino, inode->i_sb->s_blocksize);
@@ -107,11 +109,13 @@
udf_pc_to_char(symlink, inode->i_size, p);
udf_release_data(bh);
+ unlock_kernel();
SetPageUptodate(page);
kunmap(page);
UnlockPage(page);
return 0;
out:
+ unlock_kernel();
SetPageError(page);
kunmap(page);
UnlockPage(page);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)