Redian新闻
>
大家能帮我看一下下面的问题吗,不胜感激。 (转载)
avatar
大家能帮我看一下下面的问题吗,不胜感激。 (转载)# Joke - 肚皮舞运动
i*g
1
是redeem AA miles一两个月后,还是年底的时候一块儿给呢?
avatar
x*o
2
【 以下文字转载自 Linux 讨论区 】
发信人: wjk302 (akui), 信区: Linux
标 题: 大家能帮我看一下下面的问题吗,不胜感激。
发信站: BBS 未名空间站 (Wed Feb 1 22:05:13 2012, 美东)
很冒昧的打扰大家。大家能帮我看一下下面的问题吗,不胜感激。
问题是这样的,在生产环境下
1、Suse的Linux有 /nfsmnt/work_pub/web 文件夹和 /nfsmnt/work_inwork/web
文件夹 ,它们都是NFS文件挂载
2、机器上有多个进程会读写/nfsmnt/work_pub/web 文件夹的内容
3、cron会周期性的 删除/nfsmnt/work_pub/web 文件夹下所有文件,并把/nfsmnt/
work_inwork/web 文件夹下的所有内容拷贝到前面那个文件夹中
这样,完全删除/nfsmnt/work_pub/web 文件夹下所有文件的时候就会有.nfs文件删除
不掉(上面的流程因为某些问题不方便改动)。
想咨询的问题是:我现在能不能修改一下fs/nfs/dir.c 中 nfs_sillyrename这个方法
,把所有.nfs文件生成到/nfsmnt/temp目录下,然后重新编译内核解决上面的问题?期
待大家的指点,先谢谢了。
下面是源代码
static int nfs_sillyrename(struct inode *dir, struct dentry *dentry)
{
static unsigned int sillycounter;
const int i_inosize = sizeof(dir->i_ino)*2;
const int countersize = sizeof(sillycounter)*2;
const int slen = strlen(".nfs") + i_inosize + countersize;
char silly[slen+1];
struct qstr qsilly;
struct dentry *sdentry;
int error = -EIO;
dfprintk(VFS, "NFS: silly-rename(%s/%s, ct=%d)\n",
dentry->d_parent->d_name.name, dentry->d_name.name,
atomic_read(&dentry->d_count));
if (atomic_read(&dentry->d_count) == 1)
goto out; /* No need to silly rename. */
#ifdef NFS_PARANOIA
if (!dentry->d_inode)
printk("NFS: silly-renaming %s/%s, negative dentry??\n",
dentry->d_parent->d_name.name, dentry->d_name.name);
#endif
/*
* We don't allow a dentry to be silly-renamed twice.
*/
error = -EBUSY;
if (dentry->d_flags & DCACHE_NFSFS_RENAMED)
goto out;
sprintf(silly, ".nfs%*.*lx",
i_inosize, i_inosize, dentry->d_inode->i_ino);
sdentry = NULL;
do {
char *suffix = silly + slen - countersize;
dput(sdentry);
sillycounter++;
sprintf(suffix, "%*.*x", countersize, countersize, sillycounter);
dfprintk(VFS, "trying to rename %s to %s\n",
dentry->d_name.name, silly);
sdentry = lookup_one(silly, dentry->d_parent);
/*
* N.B. Better to return EBUSY here ... it could be
* dangerous to delete the file while it's in use.
*/
if (IS_ERR(sdentry))
goto out;
} while(sdentry->d_inode != NULL); /* need negative lookup */
nfs_zap_caches(dir);
qsilly.name = silly;
qsilly.len = strlen(silly);
error = NFS_PROTO(dir)->rename(dir, &dentry->d_name, dir, &qsilly); //可否
修改 此处代码来解决问题
if (!error) {
nfs_renew_times(dentry);
d_move(dentry, sdentry);
error = nfs_async_unlink(dentry);
/* If we return 0 we don't unlink */
}
dput(sdentry);
out:
return error;
}
avatar
J*g
3
2 or 3 months after redemption.
avatar
n*i
4
J point, please.

nfsmnt/

【在 x****o 的大作中提到】
: 【 以下文字转载自 Linux 讨论区 】
: 发信人: wjk302 (akui), 信区: Linux
: 标 题: 大家能帮我看一下下面的问题吗,不胜感激。
: 发信站: BBS 未名空间站 (Wed Feb 1 22:05:13 2012, 美东)
: 很冒昧的打扰大家。大家能帮我看一下下面的问题吗,不胜感激。
: 问题是这样的,在生产环境下
: 1、Suse的Linux有 /nfsmnt/work_pub/web 文件夹和 /nfsmnt/work_inwork/web
: 文件夹 ,它们都是NFS文件挂载
: 2、机器上有多个进程会读写/nfsmnt/work_pub/web 文件夹的内容
: 3、cron会周期性的 删除/nfsmnt/work_pub/web 文件夹下所有文件,并把/nfsmnt/

avatar
Z*2
5
当天
06/15/13 CITI 10% AWARD RDMPTION BONUS 3,500 0 3,500
06/15/13 TM35A CHINA ECON OW TKT -35,000 0 -35,000
avatar
a*r
6
专业笑话深千尺。
avatar
w*r
7
不错哦,赶紧redeem
avatar
i*g
8
看来我拿不到了 我是在申请citi aa一个月前redeem的 有30多万mile 好可惜。。

是redeem AA miles一两个月后,还是年底的时候一块儿给呢?

【在 i****g 的大作中提到】
: 是redeem AA miles一两个月后,还是年底的时候一块儿给呢?
avatar
d*a
9
pai, bso

【在 i****g 的大作中提到】
: 看来我拿不到了 我是在申请citi aa一个月前redeem的 有30多万mile 好可惜。。
:
: 是redeem AA miles一两个月后,还是年底的时候一块儿给呢?

avatar
x*0
10
每年一万 CAP.

【在 i****g 的大作中提到】
: 看来我拿不到了 我是在申请citi aa一个月前redeem的 有30多万mile 好可惜。。
:
: 是redeem AA miles一两个月后,还是年底的时候一块儿给呢?

avatar
i*g
11
虽然知道最多只能拿回10k,但是一点都拿不到还是很不爽的

【在 d******a 的大作中提到】
: pai, bso
avatar
s*n
12
deadline?

【在 i****g 的大作中提到】
: 是redeem AA miles一两个月后,还是年底的时候一块儿给呢?
avatar
f*g
13
next statement会出现,时间是你redeem的那一天
别忘了每年有10000的cap
包子plz
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。