Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd
* 'for-linus' of git://git.open-osd.org/linux-open-osd: exofs: simple_write_end does not mark_inode_dirty exofs: fix pnfs_osd re-definitions in pre-pnfs trees
This commit is contained in:
Коммит
c6f7afaeed
|
@ -738,13 +738,28 @@ static int exofs_write_begin_export(struct file *file,
|
|||
fsdata);
|
||||
}
|
||||
|
||||
static int exofs_write_end(struct file *file, struct address_space *mapping,
|
||||
loff_t pos, unsigned len, unsigned copied,
|
||||
struct page *page, void *fsdata)
|
||||
{
|
||||
struct inode *inode = mapping->host;
|
||||
/* According to comment in simple_write_end i_mutex is held */
|
||||
loff_t i_size = inode->i_size;
|
||||
int ret;
|
||||
|
||||
ret = simple_write_end(file, mapping,pos, len, copied, page, fsdata);
|
||||
if (i_size != inode->i_size)
|
||||
mark_inode_dirty(inode);
|
||||
return ret;
|
||||
}
|
||||
|
||||
const struct address_space_operations exofs_aops = {
|
||||
.readpage = exofs_readpage,
|
||||
.readpages = exofs_readpages,
|
||||
.writepage = exofs_writepage,
|
||||
.writepages = exofs_writepages,
|
||||
.write_begin = exofs_write_begin_export,
|
||||
.write_end = simple_write_end,
|
||||
.write_end = exofs_write_end,
|
||||
};
|
||||
|
||||
/******************************************************************************
|
||||
|
|
|
@ -15,13 +15,7 @@
|
|||
#ifndef __EXOFS_PNFS_H__
|
||||
#define __EXOFS_PNFS_H__
|
||||
|
||||
#if defined(CONFIG_PNFS)
|
||||
|
||||
|
||||
/* FIXME: move this file to: linux/exportfs/pnfs_osd_xdr.h */
|
||||
#include "../nfs/objlayout/pnfs_osd_xdr.h"
|
||||
|
||||
#else /* defined(CONFIG_PNFS) */
|
||||
#if ! defined(__PNFS_OSD_XDR_H__)
|
||||
|
||||
enum pnfs_iomode {
|
||||
IOMODE_READ = 1,
|
||||
|
@ -46,6 +40,6 @@ struct pnfs_osd_data_map {
|
|||
u32 odm_raid_algorithm;
|
||||
};
|
||||
|
||||
#endif /* else defined(CONFIG_PNFS) */
|
||||
#endif /* ! defined(__PNFS_OSD_XDR_H__) */
|
||||
|
||||
#endif /* __EXOFS_PNFS_H__ */
|
||||
|
|
Загрузка…
Ссылка в новой задаче