X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fsysv%2Fnamei.c;h=a1f1ef33e81c4c5584a86630ca1bca637b078fea;hb=6450f65168bcf3c03b5fb44c2fe96682c0d3086b;hp=b8a73f716fbe35c5a0683017db96fc3c2d1136cd;hpb=d42510a0f58c2583c37c8e9b7548e3a68545863a;p=linux-2.6 diff --git a/fs/sysv/namei.c b/fs/sysv/namei.c index b8a73f716f..a1f1ef33e8 100644 --- a/fs/sysv/namei.c +++ b/fs/sysv/namei.c @@ -13,7 +13,6 @@ */ #include -#include #include "sysv.h" static int add_nondir(struct dentry *dentry, struct inode *inode) @@ -54,9 +53,9 @@ static struct dentry *sysv_lookup(struct inode * dir, struct dentry * dentry, st ino = sysv_inode_by_name(dentry); if (ino) { - inode = iget(dir->i_sb, ino); - if (!inode) - return ERR_PTR(-EACCES); + inode = sysv_iget(dir->i_sb, ino); + if (IS_ERR(inode)) + return ERR_CAST(inode); } d_add(dentry, inode); return NULL; @@ -250,7 +249,7 @@ static int sysv_rename(struct inode * old_dir, struct dentry * old_dentry, sysv_set_link(new_de, new_page, old_inode); new_inode->i_ctime = CURRENT_TIME_SEC; if (dir_de) - new_inode->i_nlink--; + drop_nlink(new_inode); inode_dec_link_count(new_inode); } else { if (dir_de) { @@ -292,7 +291,7 @@ out: /* * directories can handle most operations... */ -struct inode_operations sysv_dir_inode_operations = { +const struct inode_operations sysv_dir_inode_operations = { .create = sysv_create, .lookup = sysv_lookup, .link = sysv_link,