diff options
Diffstat (limited to 'fs/udf/ialloc.c')
-rw-r--r-- | fs/udf/ialloc.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/udf/ialloc.c b/fs/udf/ialloc.c index 47dbe5613f90..c10fa39f97e2 100644 --- a/fs/udf/ialloc.c +++ b/fs/udf/ialloc.c | |||
@@ -49,12 +49,11 @@ void udf_free_inode(struct inode *inode) | |||
49 | le32_add_cpu(&lvidiu->numDirs, -1); | 49 | le32_add_cpu(&lvidiu->numDirs, -1); |
50 | else | 50 | else |
51 | le32_add_cpu(&lvidiu->numFiles, -1); | 51 | le32_add_cpu(&lvidiu->numFiles, -1); |
52 | 52 | udf_updated_lvid(sb); | |
53 | mark_buffer_dirty(sbi->s_lvid_bh); | ||
54 | } | 53 | } |
55 | mutex_unlock(&sbi->s_alloc_mutex); | 54 | mutex_unlock(&sbi->s_alloc_mutex); |
56 | 55 | ||
57 | udf_free_blocks(sb, NULL, UDF_I(inode)->i_location, 0, 1); | 56 | udf_free_blocks(sb, NULL, &UDF_I(inode)->i_location, 0, 1); |
58 | } | 57 | } |
59 | 58 | ||
60 | struct inode *udf_new_inode(struct inode *dir, int mode, int *err) | 59 | struct inode *udf_new_inode(struct inode *dir, int mode, int *err) |
@@ -122,7 +121,7 @@ struct inode *udf_new_inode(struct inode *dir, int mode, int *err) | |||
122 | if (!(++uniqueID & 0x00000000FFFFFFFFUL)) | 121 | if (!(++uniqueID & 0x00000000FFFFFFFFUL)) |
123 | uniqueID += 16; | 122 | uniqueID += 16; |
124 | lvhd->uniqueID = cpu_to_le64(uniqueID); | 123 | lvhd->uniqueID = cpu_to_le64(uniqueID); |
125 | mark_buffer_dirty(sbi->s_lvid_bh); | 124 | udf_updated_lvid(sb); |
126 | } | 125 | } |
127 | mutex_unlock(&sbi->s_alloc_mutex); | 126 | mutex_unlock(&sbi->s_alloc_mutex); |
128 | inode->i_mode = mode; | 127 | inode->i_mode = mode; |
@@ -138,7 +137,7 @@ struct inode *udf_new_inode(struct inode *dir, int mode, int *err) | |||
138 | iinfo->i_location.logicalBlockNum = block; | 137 | iinfo->i_location.logicalBlockNum = block; |
139 | iinfo->i_location.partitionReferenceNum = | 138 | iinfo->i_location.partitionReferenceNum = |
140 | dinfo->i_location.partitionReferenceNum; | 139 | dinfo->i_location.partitionReferenceNum; |
141 | inode->i_ino = udf_get_lb_pblock(sb, iinfo->i_location, 0); | 140 | inode->i_ino = udf_get_lb_pblock(sb, &iinfo->i_location, 0); |
142 | inode->i_blocks = 0; | 141 | inode->i_blocks = 0; |
143 | iinfo->i_lenEAttr = 0; | 142 | iinfo->i_lenEAttr = 0; |
144 | iinfo->i_lenAlloc = 0; | 143 | iinfo->i_lenAlloc = 0; |