Commit 19bd341f authored by Tao Ma's avatar Tao Ma Committed by Joel Becker

ocfs2: Use proper parameter for some inode operation.

In order to make the original function more suitable for reflink,
we modify the following inode operations. Both are tiny.

1. ocfs2_mknod_locked only use dentry for mlog, so move it to
   the caller so that reflink can use it without dentry.
2. ocfs2_prepare_orphan_dir only want inode to get its ip_blkno.
   So use ip_blkno instead.
Signed-off-by: default avatarTao Ma <tao.ma@oracle.com>
parent c18b812d
...@@ -69,7 +69,6 @@ ...@@ -69,7 +69,6 @@
static int ocfs2_mknod_locked(struct ocfs2_super *osb, static int ocfs2_mknod_locked(struct ocfs2_super *osb,
struct inode *dir, struct inode *dir,
struct inode *inode, struct inode *inode,
struct dentry *dentry,
dev_t dev, dev_t dev,
struct buffer_head **new_fe_bh, struct buffer_head **new_fe_bh,
struct buffer_head *parent_fe_bh, struct buffer_head *parent_fe_bh,
...@@ -78,7 +77,7 @@ static int ocfs2_mknod_locked(struct ocfs2_super *osb, ...@@ -78,7 +77,7 @@ static int ocfs2_mknod_locked(struct ocfs2_super *osb,
static int ocfs2_prepare_orphan_dir(struct ocfs2_super *osb, static int ocfs2_prepare_orphan_dir(struct ocfs2_super *osb,
struct inode **ret_orphan_dir, struct inode **ret_orphan_dir,
struct inode *inode, u64 blkno,
char *name, char *name,
struct ocfs2_dir_lookup_result *lookup); struct ocfs2_dir_lookup_result *lookup);
...@@ -358,8 +357,12 @@ static int ocfs2_mknod(struct inode *dir, ...@@ -358,8 +357,12 @@ static int ocfs2_mknod(struct inode *dir,
} }
did_quota_inode = 1; did_quota_inode = 1;
mlog_entry("(0x%p, 0x%p, %d, %lu, '%.*s')\n", dir, dentry,
inode->i_mode, (unsigned long)dev, dentry->d_name.len,
dentry->d_name.name);
/* do the real work now. */ /* do the real work now. */
status = ocfs2_mknod_locked(osb, dir, inode, dentry, dev, status = ocfs2_mknod_locked(osb, dir, inode, dev,
&new_fe_bh, parent_fe_bh, handle, &new_fe_bh, parent_fe_bh, handle,
inode_ac); inode_ac);
if (status < 0) { if (status < 0) {
...@@ -466,7 +469,6 @@ static int ocfs2_mknod(struct inode *dir, ...@@ -466,7 +469,6 @@ static int ocfs2_mknod(struct inode *dir,
static int ocfs2_mknod_locked(struct ocfs2_super *osb, static int ocfs2_mknod_locked(struct ocfs2_super *osb,
struct inode *dir, struct inode *dir,
struct inode *inode, struct inode *inode,
struct dentry *dentry,
dev_t dev, dev_t dev,
struct buffer_head **new_fe_bh, struct buffer_head **new_fe_bh,
struct buffer_head *parent_fe_bh, struct buffer_head *parent_fe_bh,
...@@ -480,10 +482,6 @@ static int ocfs2_mknod_locked(struct ocfs2_super *osb, ...@@ -480,10 +482,6 @@ static int ocfs2_mknod_locked(struct ocfs2_super *osb,
u16 suballoc_bit; u16 suballoc_bit;
u16 feat; u16 feat;
mlog_entry("(0x%p, 0x%p, %d, %lu, '%.*s')\n", dir, dentry,
inode->i_mode, (unsigned long)dev, dentry->d_name.len,
dentry->d_name.name);
*new_fe_bh = NULL; *new_fe_bh = NULL;
status = ocfs2_claim_new_inode(osb, handle, dir, parent_fe_bh, status = ocfs2_claim_new_inode(osb, handle, dir, parent_fe_bh,
...@@ -852,7 +850,8 @@ static int ocfs2_unlink(struct inode *dir, ...@@ -852,7 +850,8 @@ static int ocfs2_unlink(struct inode *dir,
} }
if (inode_is_unlinkable(inode)) { if (inode_is_unlinkable(inode)) {
status = ocfs2_prepare_orphan_dir(osb, &orphan_dir, inode, status = ocfs2_prepare_orphan_dir(osb, &orphan_dir,
OCFS2_I(inode)->ip_blkno,
orphan_name, &orphan_insert); orphan_name, &orphan_insert);
if (status < 0) { if (status < 0) {
mlog_errno(status); mlog_errno(status);
...@@ -1243,9 +1242,8 @@ static int ocfs2_rename(struct inode *old_dir, ...@@ -1243,9 +1242,8 @@ static int ocfs2_rename(struct inode *old_dir,
if (S_ISDIR(new_inode->i_mode) || (new_inode->i_nlink == 1)) { if (S_ISDIR(new_inode->i_mode) || (new_inode->i_nlink == 1)) {
status = ocfs2_prepare_orphan_dir(osb, &orphan_dir, status = ocfs2_prepare_orphan_dir(osb, &orphan_dir,
new_inode, OCFS2_I(new_inode)->ip_blkno,
orphan_name, orphan_name, &orphan_insert);
&orphan_insert);
if (status < 0) { if (status < 0) {
mlog_errno(status); mlog_errno(status);
goto bail; goto bail;
...@@ -1699,7 +1697,11 @@ static int ocfs2_symlink(struct inode *dir, ...@@ -1699,7 +1697,11 @@ static int ocfs2_symlink(struct inode *dir,
} }
did_quota_inode = 1; did_quota_inode = 1;
status = ocfs2_mknod_locked(osb, dir, inode, dentry, mlog_entry("(0x%p, 0x%p, %d, '%.*s')\n", dir, dentry,
inode->i_mode, dentry->d_name.len,
dentry->d_name.name);
status = ocfs2_mknod_locked(osb, dir, inode,
0, &new_fe_bh, parent_fe_bh, handle, 0, &new_fe_bh, parent_fe_bh, handle,
inode_ac); inode_ac);
if (status < 0) { if (status < 0) {
...@@ -1849,7 +1851,7 @@ static int ocfs2_blkno_stringify(u64 blkno, char *name) ...@@ -1849,7 +1851,7 @@ static int ocfs2_blkno_stringify(u64 blkno, char *name)
static int ocfs2_prepare_orphan_dir(struct ocfs2_super *osb, static int ocfs2_prepare_orphan_dir(struct ocfs2_super *osb,
struct inode **ret_orphan_dir, struct inode **ret_orphan_dir,
struct inode *inode, u64 blkno,
char *name, char *name,
struct ocfs2_dir_lookup_result *lookup) struct ocfs2_dir_lookup_result *lookup)
{ {
...@@ -1857,7 +1859,7 @@ static int ocfs2_prepare_orphan_dir(struct ocfs2_super *osb, ...@@ -1857,7 +1859,7 @@ static int ocfs2_prepare_orphan_dir(struct ocfs2_super *osb,
struct buffer_head *orphan_dir_bh = NULL; struct buffer_head *orphan_dir_bh = NULL;
int status = 0; int status = 0;
status = ocfs2_blkno_stringify(OCFS2_I(inode)->ip_blkno, name); status = ocfs2_blkno_stringify(blkno, name);
if (status < 0) { if (status < 0) {
mlog_errno(status); mlog_errno(status);
return status; return status;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment