patch-2.3.99-pre3 linux/fs/udf/inode.c
Next file: linux/fs/udf/lowlevel.c
Previous file: linux/fs/udf/file.c
Back to the patch index
Back to the overall index
- Lines: 50
- Date:
Tue Mar 21 11:30:08 2000
- Orig file:
v2.3.99-pre2/linux/fs/udf/inode.c
- Orig date:
Thu Mar 2 14:36:23 2000
diff -u --recursive --new-file v2.3.99-pre2/linux/fs/udf/inode.c linux/fs/udf/inode.c
@@ -74,10 +74,13 @@
*/
void udf_put_inode(struct inode * inode)
{
- lock_kernel();
- udf_discard_prealloc(inode);
- write_inode_now(inode);
- unlock_kernel();
+ if (!(inode->i_sb->s_flags & MS_RDONLY))
+ {
+ lock_kernel();
+ udf_discard_prealloc(inode);
+ write_inode_now(inode);
+ unlock_kernel();
+ }
}
/*
@@ -130,7 +133,7 @@
return block_read_full_page(page, udf_get_block);
}
-static int udf_prepare_write(struct page *page, unsigned from, unsigned to)
+static int udf_prepare_write(struct file *file, struct page *page, unsigned from, unsigned to)
{
return block_prepare_write(page, from, to, udf_get_block);
}
@@ -1554,16 +1557,18 @@
case ICB_FLAG_AD_SHORT:
{
sad = (short_ad *)sptr;
- sad->extLength = EXTENT_NEXT_EXTENT_ALLOCDECS << 30 |
- inode->i_sb->s_blocksize;
+ sad->extLength = cpu_to_le32(
+ EXTENT_NEXT_EXTENT_ALLOCDECS << 30 |
+ inode->i_sb->s_blocksize);
sad->extPosition = cpu_to_le32(bloc->logicalBlockNum);
break;
}
case ICB_FLAG_AD_LONG:
{
lad = (long_ad *)sptr;
- lad->extLength = EXTENT_NEXT_EXTENT_ALLOCDECS << 30 |
- inode->i_sb->s_blocksize;
+ lad->extLength = cpu_to_le32(
+ EXTENT_NEXT_EXTENT_ALLOCDECS << 30 |
+ inode->i_sb->s_blocksize);
lad->extLocation = cpu_to_lelb(*bloc);
break;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)