]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/udf/file.c
udf: fix coding style
[linux-2.6-omap-h63xx.git] / fs / udf / file.c
index 5d7a4ea27753b4afb8ebc012aa7542b0aa0f3981..a984a8911167838c7db9af83e9b5b13d638c24ac 100644 (file)
@@ -59,7 +59,8 @@ static int udf_adinicb_readpage(struct file *file, struct page *page)
        return 0;
 }
 
-static int udf_adinicb_writepage(struct page *page, struct writeback_control *wbc)
+static int udf_adinicb_writepage(struct page *page,
+                                struct writeback_control *wbc)
 {
        struct inode *inode = page->mapping->host;
        char *kaddr;
@@ -76,36 +77,29 @@ static int udf_adinicb_writepage(struct page *page, struct writeback_control *wb
        return 0;
 }
 
-static int udf_adinicb_prepare_write(struct file *file, struct page *page,
-                                    unsigned offset, unsigned to)
+static int udf_adinicb_write_end(struct file *file,
+                       struct address_space *mapping,
+                       loff_t pos, unsigned len, unsigned copied,
+                       struct page *page, void *fsdata)
 {
-       kmap(page);
-       return 0;
-}
-
-static int udf_adinicb_commit_write(struct file *file, struct page *page,
-                                   unsigned offset, unsigned to)
-{
-       struct inode *inode = page->mapping->host;
-       char *kaddr = page_address(page);
+       struct inode *inode = mapping->host;
+       unsigned offset = pos & (PAGE_CACHE_SIZE - 1);
+       char *kaddr;
 
+       kaddr = kmap_atomic(page, KM_USER0);
        memcpy(UDF_I_DATA(inode) + UDF_I_LENEATTR(inode) + offset,
-              kaddr + offset, to - offset);
-       mark_inode_dirty(inode);
-       SetPageUptodate(page);
-       kunmap(page);
-       /* only one page here */
-       if (to > inode->i_size)
-               inode->i_size = to;
-       return 0;
+               kaddr + offset, copied);
+       kunmap_atomic(kaddr, KM_USER0);
+
+       return simple_write_end(file, mapping, pos, len, copied, page, fsdata);
 }
 
 const struct address_space_operations udf_adinicb_aops = {
        .readpage       = udf_adinicb_readpage,
        .writepage      = udf_adinicb_writepage,
        .sync_page      = block_sync_page,
-       .prepare_write  = udf_adinicb_prepare_write,
-       .commit_write   = udf_adinicb_commit_write,
+       .write_begin = simple_write_begin,
+       .write_end = udf_adinicb_write_end,
 };
 
 static ssize_t udf_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
@@ -123,7 +117,8 @@ static ssize_t udf_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
                else
                        pos = ppos;
 
-               if (inode->i_sb->s_blocksize < (udf_file_entry_alloc_offset(inode) +
+               if (inode->i_sb->s_blocksize <
+                               (udf_file_entry_alloc_offset(inode) +
                                                pos + count)) {
                        udf_expand_file_adinicb(inode, pos + count, &err);
                        if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_IN_ICB) {
@@ -198,15 +193,19 @@ int udf_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
 
        switch (cmd) {
        case UDF_GETVOLIDENT:
-               return copy_to_user((char __user *)arg,
-                                   UDF_SB_VOLIDENT(inode->i_sb), 32) ? -EFAULT : 0;
+               if (copy_to_user((char __user *)arg,
+                                UDF_SB(inode->i_sb)->s_volume_ident, 32))
+                       return -EFAULT;
+               else
+                       return 0;
        case UDF_RELOCATE_BLOCKS:
                if (!capable(CAP_SYS_ADMIN))
                        return -EACCES;
                if (get_user(old_block, (long __user *)arg))
                        return -EFAULT;
-               if ((result = udf_relocate_blocks(inode->i_sb,
-                                                 old_block, &new_block)) == 0)
+               result = udf_relocate_blocks(inode->i_sb,
+                                               old_block, &new_block);
+               if (result == 0)
                        result = put_user(new_block, (long __user *)arg);
                return result;
        case UDF_GETEASIZE: