From 8e064794c9863094e9e77a389c48f5626b97e7ba Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 4 Mar 2008 12:08:36 -0800 Subject: [PATCH] client: addr.c tabs --- src/kernel/addr.c | 156 +++++++++++++++++++++++----------------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/src/kernel/addr.c b/src/kernel/addr.c index 7a4afce14525e..03b5baf3d0f7e 100644 --- a/src/kernel/addr.c +++ b/src/kernel/addr.c @@ -105,48 +105,48 @@ static int ceph_prepare_write(struct file *filp, struct page *page, unsigned from, unsigned to) { /* struct inode *inode = filp->f_dentry->d_inode;*/ - struct inode *inode = page->mapping->host; - struct ceph_inode_info *ci = ceph_inode(inode); - struct ceph_osd_client *osdc = &ceph_inode_to_client(inode)->osdc; - int err = 0; - loff_t offset, i_size; - - /* - * TODO: - * 1. check if page is up to date - * 2. If not, read a page to be up to date - */ - - if (PageUptodate(page)) - return 0; - - /* The given page is already up to date if it's a full page */ - if ((to == PAGE_SIZE) && (from == 0)) { - SetPageUptodate(page); - return 0; - } - - offset = (loff_t)page->index << PAGE_SHIFT; - i_size = i_size_read(inode); - - if ((offset >= i_size) || - ((from == 0) && (offset + to) >= i_size)) { - /* data beyond the file end doesn't need to be read */ - simple_prepare_write(filp, page, from, to); - SetPageUptodate(page); - return 0; - } - - /* Now it's clear that the page is not up to date */ - - err = ceph_osdc_prepare_write(osdc, inode->i_ino, &ci->i_layout, - page->index << PAGE_SHIFT, PAGE_SIZE, page); - if (err) - goto out_unlock; - + struct inode *inode = page->mapping->host; + struct ceph_inode_info *ci = ceph_inode(inode); + struct ceph_osd_client *osdc = &ceph_inode_to_client(inode)->osdc; + int err = 0; + loff_t offset, i_size; + + /* + * TODO: + * 1. check if page is up to date + * 2. If not, read a page to be up to date + */ + + if (PageUptodate(page)) + return 0; + + /* The given page is already up to date if it's a full page */ + if ((to == PAGE_SIZE) && (from == 0)) { + SetPageUptodate(page); + return 0; + } + + offset = (loff_t)page->index << PAGE_SHIFT; + i_size = i_size_read(inode); + + if ((offset >= i_size) || + ((from == 0) && (offset + to) >= i_size)) { + /* data beyond the file end doesn't need to be read */ + simple_prepare_write(filp, page, from, to); + SetPageUptodate(page); + return 0; + } + + /* Now it's clear that the page is not up to date */ + + err = ceph_osdc_prepare_write(osdc, inode->i_ino, &ci->i_layout, + page->index << PAGE_SHIFT, PAGE_SIZE, page); + if (err) + goto out_unlock; + out_unlock: - unlock_page(page); - return err; + unlock_page(page); + return err; } /* @@ -157,44 +157,44 @@ static int ceph_commit_write(struct file *filp, struct page *page, unsigned from, unsigned to) { /* struct inode *inode = filp->f_dentry->d_inode;*/ - struct inode *inode = page->mapping->host; - struct ceph_inode_info *ci = ceph_inode(inode); - struct ceph_osd_client *osdc = &ceph_inode_to_client(inode)->osdc; - loff_t position = ((loff_t)page->index << PAGE_SHIFT) + to; - int err = 0; - char *page_data; - - spin_lock(&inode->i_lock); - if (position > inode->i_size) { - i_size_write(inode, position); - } - spin_unlock(&inode->i_lock); - - /* - * 1. check if page is up to date - * 2. If not, make the page up to date by writing a page - * 3. If yes, just set the page as dirty - */ - - if (!PageUptodate(page)) { - position = ((loff_t)page->index << PAGE_SHIFT) + from; - - page_data = kmap(page); - err = ceph_osdc_commit_write(osdc, inode->i_ino, &ci->i_layout, - page->index << PAGE_SHIFT, PAGE_SIZE, page); - if (err) - err = 0; /* FIXME: more sophisticated error handling */ - kunmap(page); - } - else { - /* set the page as up-to-date and mark it as dirty */ - SetPageUptodate(page); - set_page_dirty(page); - } - + struct inode *inode = page->mapping->host; + struct ceph_inode_info *ci = ceph_inode(inode); + struct ceph_osd_client *osdc = &ceph_inode_to_client(inode)->osdc; + loff_t position = ((loff_t)page->index << PAGE_SHIFT) + to; + int err = 0; + char *page_data; + + spin_lock(&inode->i_lock); + if (position > inode->i_size) { + i_size_write(inode, position); + } + spin_unlock(&inode->i_lock); + + /* + * 1. check if page is up to date + * 2. If not, make the page up to date by writing a page + * 3. If yes, just set the page as dirty + */ + + if (!PageUptodate(page)) { + position = ((loff_t)page->index << PAGE_SHIFT) + from; + + page_data = kmap(page); + err = ceph_osdc_commit_write(osdc, inode->i_ino, &ci->i_layout, + page->index << PAGE_SHIFT, PAGE_SIZE, page); + if (err) + err = 0; /* FIXME: more sophisticated error handling */ + kunmap(page); + } + else { + /* set the page as up-to-date and mark it as dirty */ + SetPageUptodate(page); + set_page_dirty(page); + } + /*out_unlock:*/ - unlock_page(page); - return err; + unlock_page(page); + return err; } -- 2.39.5