[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20130418113454.5762cc4657b0b3fc58c748cb@canb.auug.org.au>
Date: Thu, 18 Apr 2013 11:34:54 +1000
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Sage Weil <sage@...dream.net>
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Al Viro <viro@...iv.linux.org.uk>,
Alex Elder <elder@...tank.com>,
"Yan, Zheng" <zheng.z.yan@...el.com>
Subject: linux-next: manual merge of the ceph tree with Linus' tree
Hi Sage,
Today's linux-next merge of the ceph tree got a conflict in
fs/ceph/addr.c between commit 496ad9aa8ef4 ("new helper: file_inode
(file)") from Linus' tree and commit 42f94fe2cf50 ("ceph: revert commit
22cddde104") from the ceph tree.
I fixed it up (see below) and can carry the fix as necessary (no action
is required).
--
Cheers,
Stephen Rothwell sfr@...b.auug.org.au
diff --cc fs/ceph/addr.c
index a60ea97,068d2c8..0000000
--- a/fs/ceph/addr.c
+++ b/fs/ceph/addr.c
@@@ -1066,29 -1104,10 +1104,10 @@@ static int ceph_write_begin(struct fil
loff_t pos, unsigned len, unsigned flags,
struct page **pagep, void **fsdata)
{
- struct inode *inode = file->f_dentry->d_inode;
+ struct inode *inode = file_inode(file);
- struct ceph_inode_info *ci = ceph_inode(inode);
- struct ceph_file_info *fi = file->private_data;
struct page *page;
pgoff_t index = pos >> PAGE_CACHE_SHIFT;
- int r, want, got = 0;
-
- if (fi->fmode & CEPH_FILE_MODE_LAZY)
- want = CEPH_CAP_FILE_BUFFER | CEPH_CAP_FILE_LAZYIO;
- else
- want = CEPH_CAP_FILE_BUFFER;
-
- dout("write_begin %p %llx.%llx %llu~%u getting caps. i_size %llu\n",
- inode, ceph_vinop(inode), pos, len, inode->i_size);
- r = ceph_get_caps(ci, CEPH_CAP_FILE_WR, want, &got, pos+len);
- if (r < 0)
- return r;
- dout("write_begin %p %llx.%llx %llu~%u got cap refs on %s\n",
- inode, ceph_vinop(inode), pos, len, ceph_cap_string(got));
- if (!(got & (CEPH_CAP_FILE_BUFFER|CEPH_CAP_FILE_LAZYIO))) {
- ceph_put_cap_refs(ci, got);
- return -EAGAIN;
- }
+ int r;
do {
/* get a page */
@@@ -1124,8 -1134,7 +1134,7 @@@ static int ceph_write_end(struct file *
loff_t pos, unsigned len, unsigned copied,
struct page *page, void *fsdata)
{
- struct inode *inode = file->f_dentry->d_inode;
+ struct inode *inode = file_inode(file);
- struct ceph_inode_info *ci = ceph_inode(inode);
struct ceph_fs_client *fsc = ceph_inode_to_client(inode);
struct ceph_mds_client *mdsc = fsc->mdsc;
unsigned from = pos & (PAGE_CACHE_SIZE - 1);
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists