X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flinux%2Flustre_lite.h;h=cdd5875f816f312c20bd3284bfce11cc6d59a533;hp=866d4293d78a7c7bff747e05983727ea0c8c65b7;hb=fbb7ead129258897f5a5d5c9ce28d31fbbe5bca2;hpb=04ae51bbf09b278161924819be0a7c8727efbd41 diff --git a/lustre/include/linux/lustre_lite.h b/lustre/include/linux/lustre_lite.h index 866d429..cdd5875 100644 --- a/lustre/include/linux/lustre_lite.h +++ b/lustre/include/linux/lustre_lite.h @@ -77,6 +77,7 @@ struct ll_inode_info { struct lustre_id lli_id; /* full lustre_id */ char *lli_symlink_name; struct semaphore lli_open_sem; + struct semaphore lli_size_sem; __u64 lli_maxbytes; __u64 lli_io_epoch; unsigned long lli_flags; @@ -98,6 +99,16 @@ struct ll_inode_info { #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)) struct inode lli_vfs_inode; #endif + struct semaphore lli_och_sem; /* Protects access to och pointers + and their usage counters */ + /* We need all three because every inode may be opened in different + modes */ + struct obd_client_handle *lli_mds_read_och; + __u64 lli_open_fd_read_count; + struct obd_client_handle *lli_mds_write_och; + __u64 lli_open_fd_write_count; + struct obd_client_handle *lli_mds_exec_och; + __u64 lli_open_fd_exec_count; struct posix_acl *lli_acl_access; }; @@ -195,6 +206,10 @@ ll_prepare_mdc_data(struct mdc_op_data *data, struct inode *i1, #include #endif /* __KERNEL__ */ +#define LLAP_FROM_COOKIE(c) \ + (LASSERT(((struct ll_async_page *)(c))->llap_magic == LLAP_MAGIC), \ + (struct ll_async_page *)(c)) + #include #endif